Android消息处理机制(一):简介

来源:互联网 发布:收购淘宝评价 编辑:程序博客网 时间:2024/06/17 00:28


Android应用程序的消息处理机制是围绕消息队列来实现的。每个线程最多有一个消息队列,有了消息队列之后,就可以进入到一个消息循环中(进入loop中,每个线程最多有一个Looper对象,且主线程创建之后,系统会自动为其创建一个Looper对象和消息队列MessageQueue),同时其他线程以及线程本身可以往这个消息队列发送消息,以便可以在这个消息被处理时执行一个特定的操作。这样我们就将一个线程的生命周期划分为创建消息队列进入消息循环两个阶段,其中,消息循环阶段又划分为发送消息处理消息两个子阶段,它们是交替进行的。

学习Android消息处理机制之前,有几个概念(类)必须了解:

1、Message:消息,理解为线程间通讯的数据单元。例如后台线程在处理数据完毕后需要 更新UI,则可发送一条包含更新信息的Message给UI线程。

2、MessageQueue:消息队列,用来存放通过Handler发布的消息,按照先进先出执行。

3Handler:Handler是Message的主要处理者,负责将Message添加到消息队列以及对消息队列中的Message进行处理

4、Looper:循环器,扮演MessageQueue和Handler之间桥梁的角色,循环取出Message Queue里面的Message,并交付给相应的Handler进行处理。

5、线程:UI thread通常就是main thread,而Android启动程序时会替它建立一个Message Queue。每一个线程里可含有一个Looper对象以及一个MessageQueue数据结构。在你的应用程序里,可以定义Handler的子类别来接收Looper所送出的消息。

原创粉丝点击