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

本文深入解析了Android消息机制的关键组件,包括Handler、MessageQueue和Looper的工作原理。详细介绍了消息如何通过Handler发送到MessageQueue,Looper如何循环读取消息并执行对应的处理逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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,



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值