Android消息队列浅析

2019-05-10  本文已影响0人  简单1典

 当面试官问到你消息对列的时候,恭喜你,已经跨过初级,在试探你的中级水平了。

Android的消息循环是参考Windows的消息循环机制来实现的。

消息队列4件套  Message、MessageQueue、Looper、Handler

1、Message 是消息对列的消息实体类,因为消息队列中会存放最多10个Message对象。常用属性 what,是消息体的Tag,用来区分是那个一消息体。

2、MessageQueue 先进先出”的原则存放消息,将Message对象以链表的方式串联起来。

3、Looper 是MessageQueue的管理者,主线程中是一对一的关系。子线程需要用到消息对列的话就需要经典二人组 。先调用 Looper.prepare()方法,然后再调用Looper.loop();

4、Handler 是封装和处理Message对象的。

通过源码可知消息走向如下

handler.sendMessage()-->handler.sendMessageDelayed()-->handler.sendMessageAtTime()-->msg.target = this;queue.enqueueMessage==>把msg添加到消息队列中

上一篇下一篇

猜你喜欢

热点阅读