概述: android
不少android初学者对android 中的handler不是很明白,其实Google参考了Windows的消息处理机制,数据结构
在Android系统中实现了一套相似的消息处理机制。在下面介绍handler机制前,首先得了解如下几个概念:oop
1. Messagespa
消息,理解为线程间通信的数据单元。例如后台线程在处理数据完毕后须要更新UI,则可发送一条包含更新信息的Message给UI线程。线程
2. Message Queue对象
消息队列,用来存放经过Handler发布的消息,按照先进先出执行。blog
3. Handler队列
Handler是Message的主要处理者,负责将Message添加到消息队列以及对消息队列中的Message进行处理。get
4. Looper消息队列
循环器,扮演Message Queue和Handler之间桥梁的角色,循环取出Message Queue里面的Message,并交付给相应的Handler进行处理。
5. 线程
UI thread 一般就是main thread,而Android启动程序时会替它创建一个Message Queue。
每个线程里可含有一个Looper对象以及一个MessageQueue数据结构。在你的应用程序里,能够定义Handler的子类别来接收Looper所送出的消息。
好了,下面是正文~