Andorid消息处理机制

来源:互联网 发布:扫地机知乎 编辑:程序博客网 时间:2024/05/18 22:56

首先需要介绍几个非常重要的角色:Looper、Handler、HandlerThread、MessageQueue、Message
Looper帮助一个线程维护一个消息队列,每一个线程都可以拥有一个Looper对象。
Handler负责把消息放入线程的消息队列中以及分发消息。
HandlerThread本身是一个Thread,并且内部封装了一个Looper对象,所以不用我们去关心Looper的创建和释放问题。
Message本身是一个Parcelable对象,MessageQueue用来存储一些待分发的Message,内部实现了一个Message链表的结构。

在一个子线程中创建Handler时,必须初始化该线程的Looper对象,因为普通的Thread默认是没有消息队列的。程序启动的时候,系统会为主线程(UI线程)创建一个Looper对象和消息队列,我们可以通过Looper.getMainLooper()获得。

参考文章:http://codingnow.cn/android/582.html

0 0
原创粉丝点击