Android线程的消息分发机制

Handler:

处理者,一般在主线程创建(在工作线程也可以创建,这个下一篇会详细说到),处理各种线程发送过来的* Message,根据Message内容在主线程做不同的处理。

Message:

消息体,在多线程中担任一个内容载体的角色,包含了消息的类型,参数,数据等内容,其中还包括一个重要的对象,那就是它将会被发送给那个handler。

MessageQueue:

消息队列,所有发送给handler处理的消息都会保存在消息队列中,其内部使用链表的形式维护这些message。

Looper:

这个怎么说呢,它的英文解释为一个打环的装置,我也不知道该怎么翻译,它的作用是可以让线程一直活着,而不是执行完一个功能代码后就死掉了,每个Looper的实例有一个MessageQueue和当前线程对象,正是这两个类让线程可以一直活着,也就是Looper打环的装置的意思吧。我们的主线程就是因为它才可以一直执行而不退出。

转载于:https://juejin.im/post/5c2dd5afe51d452f4d1a3dcc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值