总结一下Handler与Looper,MessageQueue的关系,并实现自定义与子线程相关的Handler。一、Handler与Looper,MessageQueue的关系 它们之间的关系其实就是下面的三条说明:(1)Looper:相当于消息的载体 ...
总结一下Handler与Looper,MessageQueue的关系,并实现自定义与子线程相关的Handler。
一、Handler与Looper,MessageQueue的关系
它们之间的关系其实就是下面的三条说明:
(1)Looper:相当于消息的载体
• 它的内部有一个消息队列,也就是MessageQueue,Handler发送的所有消息都会走向这个消息队里。
• 它的Looper.loop方法是一个死循环,不断的从消息队列MessageQueue中取出消息。如果有消息存在就处理该消息,否则就阻塞。
(2)MessageQue:就是一个消息队列,可以向其中添加消息并处理消息。
(3)Handler其实就是发送消息处理消息的封装。它与Looper相关联,也就是说在Handler的内部可以找到Looper,找到了Looper就找到了相应的消息队列。因此Handler发送的消息都会走向MessageQueue。
对上面三点说明做一个总结,其实就是:
Handler负责发送消息和接收Looper传过来的消息,并根据消息处理相应逻辑
原标题:Handler与Looper,MessageQueue的关系
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。