Android 消息机制
程序员文章站
2022-07-14 17:42:37
...
1. 什么是消息机制
Handler是Android消息机制的上层接口,常用于将一个任务切换到所在线程执行(更新UI),Handler的运行机制就是Android的消息机制。
2. Handler附带
1. Message
消息。
2. MessageQueue
消息队列。
以单链表的形式存储消息。
3. Looper
无限循环的去查找是否有新消息,有就去处理,否则一直等待。
如何为线程创建Looper。
Looper.prepare();//创建
Handler h = new Hanlder();
Looper.loop();//开启消息循环
4. ThreadLocal
ThreadLocal 是一种可以在不同线程中互不干扰的存储并提供数据的线程内部数据存储类,Handler会采用当前线程的Looper来构造消息循环。使用ThreadLocal 可以获取Looper,线程默认没有Looper,需要自己创建。
3. Handler的工作原理
Handler创建完毕之后 使用Handler的方法发送消息,
send方法,post方法(最终也是通过send),
然后MessageQueue 的 enqueueMessage方法将这个消息放入消息队列,
Looper发现有新消息, 就会去处理,最终交给Handler的dispatchMessage() handleMessage方法就会被调用。
上一篇: Qt之消息事件机制
下一篇: Python Day4
推荐阅读