理解 MessageQueue

Android的MessageQueue经历过一次大的变化,在2.0的时候,还没有native这一层。但到了2.3,就变为了现在这种模式。

TL,DR

  1. MessageQueue是个单链表
  2. MessageQueue里消息按时间排序
  3. MessageQueue的next()是个堵塞方法

MessageQueue理解的核心在next()这里。next()的实现根据版本不同有两种,一种是Java的实现,一种是带动native层的实现。

Java的实现比较简单,就是wait()和notify()。
目前使用的方式是在native层整了一份MessageQueue, Looper。具体过程深入理解Android卷2写的很好了,先直接看下面的参考资料吧。

相关类图

image.png

参考资料

  1. https://www.kancloud.cn/alex_wsc/android-deep2/413392
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容