读书笔记:Android开发艺术探索之第10章 android的消息机制

1,Handler:消息传递

主要将消息发送值MessageQueue里面,这里会调用MessageQueue的enqueueMessage将消息保存到MessageQueue中,然后Looper读取数据执行过程中会调用Handler的dispatchMessage回调之handler


2,MessageQueue消息队列。单链表储存消息

enqueueMessage单链表储存,next循环读取消息读取后并且删除消息,在没有消息的时候无限循环,阻塞

3,Looper:循环从MessageQueue中取消息

调用loop方法后开始循环,在loop方法中循环读取MessageQueue的消息,next为空的时候阻塞循环,当MessageQueue返回为空的时候跳出循环,及调用Looper的quit方法后MessageQueue的next方法会返回为空,跳出循环

4,ThreadLocal:在不同线程中互不干扰的储存并提供数据

5,ActivityThread:初始化Looper

初始化Looper并且在这里执行loop方法。

6,ViewRootImpl的checkThread方法检查更新ui线程是否是UI线程

7,Handler调用send方法会调用MessageQueue的enqueueMessage方法


MessageQueue包括:插入和读取,读取伴随着删除操作,对应方法enqueueMessage和next,



猜你喜欢

转载自blog.csdn.net/luck_xiang/article/details/75559465