Android中的异步消息处理主要由四个部分组成,Message、Handler、MessageQueue和Looper。
Message
在线程之间传递的消息,
可以在内部携带少量的信息,
用于在不同线程之间交换数据。
上一小节中我们使用到了Message的what字段,除此之外还可以使用arg1和arg2字段来携带一些整型数据,使用obj字段携带一个Object对象。
Handler
处理者的意思,
它主要是用于发送和处理消息
发送消息一般是使用Handler的sendMessage()方法,而发出的消息经过一系列地辗转处理后,最终会传递到Handler的handleMessage()方法中。
MessageQueue
消息队列的意思,
它主要用于存放所有通过Handler发送的消息。
这部分消息会一直存在于消息队列中,等待被处理。
每个线程中只会有一个MessageQueue对象。
Looper