凌川江雪
Tip | Android的消息机制
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
凌川江雪
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
社区首页
>
专栏
>
Tip | Android的消息机制
Tip | Android的消息机制
凌川江雪
关注
发布于 2019-04-18 16:11:36
388
0
发布于 2019-04-18 16:11:36
举报
文章被收录于专栏:
李蔚蓬的专栏
李蔚蓬的专栏
李蔚蓬的专栏
简述
首先,底层实现了一个线程本地存储,叫ThreadLocal区域, 一个主线程以及它对应的所有子线程,共享同一个 ThreadLocal对象, 这个ThreadLocal对象中可以说逻辑上维护着一个key-value表, 这个表为不同的线程 一 一 对应地维护一套数据副本, 每一套数据副本对应着一个线程 (有多少线程共享这个ThreadLocal对象,ThreadLocal对象就准备多少套数据副本), 每一套数据副本也是ThreadLocal对象中这个逻辑表的一个项, 数据副本在这里可以具体化为Looper对象,
而主线程及其所有子线程都可以开辟自己的Looper, 每一个Looper都要绑定在一个Handler上,(如下方图1图2) 然后这些个每个Looper都是共享的ThreadLocal中逻辑表的一个项, 这个项有key和value两部分, value是每一个线程对应的Looper, 而key则是存放在ThreadLocal中一个唯一的静态的Looper对象了,(如下方图3) 然后这个唯一的静态的Looper对象了关联着一个MessageQueue,
也就是说,所有线程的Looper都映射到同一个Looper上, 所有线程的Looper中关联的MessageQueue也是映射到对应的同一个MessageQueue上;(如下方图1图2)
(常规表述)
附图
图1
图2
图3
本文参与
腾讯云自媒体分享计划
,分享自作者个人站点/博客。
原始发表:2019.04.10 ,如有侵权请联系
cloudcommunity@tencent.com
删除
前往查看
java
本文分享自
作者个人站点/博客
前往查看
如有侵权,请联系
cloudcommunity@tencent.com
删除。
本文参与
腾讯云自媒体分享计划
,欢迎热爱写作的你一起参与!
java
评论
登录
后参与评论
0 条评论
热度
最新
推荐阅读
LV.
关注
文章
0
获赞
0
目录
简述
附图
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档
0
0
0
推荐