android消息机制

android的消息机制主要指的是handler的运行机制,handler的主要作用是将一个任务切换到某个指定的线程中去执行,handler的运行需要底层的MessageQueue和Looper的支撑。
MessageQueue负责存储消息列表,不处理消息,消息的处理由Looper负责。Looper会无限循环的从MessageQueue中查看是否有新消息,如果有就立即处理,否则就会阻塞在那里。

在创建handler的时候必须要绑定一个Looper,没有Looper的话就会报错。可以调用Looper.prepare()(创建当前线程的Looper)或者Looper.getMainLooper()(主线程的Looper)方法创建Looper。
所以不管handler在哪发送消息,Looper处理消息时都是在Looper自己所在的线程,这样就实现了线程间通信。
Looper是通过ThreadLocal实现的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容