Handler looper meessage messagequeue 之间的关系

论坛 期权论坛 脚本     
匿名网站用户   2020-12-20 09:58   11   0

前天面试的时候被问到了,所以按照自己的思路阐述一下她们的关系:

looper 使一个普通线程变成looper线程也就是循环工作的线程,变成looper线程后,就会在looper线程中生成并维护一个消息队列也就是messagequeue,通过loop()方法不断从消息队列中取出消息也就是message,这个时候会有个很重要的方法,就是这个方法把handler联系到了一起,这个方法就是massage.target.dispatchmessage(),如何联系起来的呢,下面看一下handler的实现,handler的默认构造函数中会得到当前线程的looper对象,消息队列也就是当前线程looper的消息队列,当handler sendmessage的时候会调用msg.target = this(handler对象),就这样looper messagequeue message handler就联系到了一起。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP