文字说明:
首先Android中的每一个线程都会对应一个MessageQueue和Looper。见名知意,MessageQueue即线程用来维护线程产生的消息队列,而这个队列的调度则是由Looper来完成的。Looper负责将产生的消息放入队列,并及时的将合适的消息从队列中取出并交由合适的接受者处理。处理消息的便是每个线程内部的Handler对象,特别是在UI线程中,由于Handler与UI处于同一个线程,所以我们就可以通过Handler处理接收到的消息并及时更新UI中的组件。上述描述即可以实现在其它线程中完成耗时操作并在UI线程中通过Handler更新组件。以下是它们之间关系的图示:
。