Is not possible send the same Message instance several time, only once. So we always have to create a new instance. Better than that, instead of create a new instance (
new Message()), we can use the method obtain (
Message.obtain()) that will return a recycled instance of Message from the pool of recycled objects, what is less expensive than the first option.
While the constructor of Message is public, the best way to get one of these is to call Message.obtain() or one of the Handler.obtainMessage() methods, which will pull them from a pool of recycled objects.