Skip to content
Able Blog
Home
Others
  • Home
      • 学习笔记
          • Android
            • 简历_赵思琦_Android_5年经验
                • Handler
                  • 01. handler整体架构方案原理
                    • 02. Message源码分析
                      • 03. Looper源码分析
                        • 04. ThreadLocal的使用及源码解析文章
                          • 05. MessageQueue源码解析
                            • 06. Handler源码解析
                              • 07. 源码阅读总结
                                • 08. Carson Handler总结的机制源码解析
                                  • 09. handler 内存泄漏的原因

                              07. 源码阅读总结

                              author iconAblecalendar icon2022年4月15日category icon
                              • Android
                              tag icon
                              • Handler
                              • 学习笔记
                              word icon约 235 字

                              # 07. 源码阅读总结

                              Message是一个数据类,为链表的存储结构,可以使用obtain()方法获取回收池对象,也有对应的对象回收方法。 Looper中持有ThreadLocal<Looper>,ThreadLocal set looper对象(Looper.prepare), Looper.loop()循环从MessagerQueue.next()方法取出Message,然后调用Handler.dispatchMessage(msg),将消息发送给Handler。最后回收message到对象回收池。

                              MessageQueue, 从next()方法开始分析, 从链表尾部取出Message。 其中包含,阻塞消息的native方法。 如果没有Message就无限阻塞等待消息到来。

                              Handler的存入与处理:enqueueMessage() dispatchMessage()

                              enqueueMessage() 入队,存入Message;

                              从队列中获取消息后调用handler.dispatchMessage(), 如果有callback 那么,使用Message.callback回调方法。 如果没有那么必须在子类中实现Handler.handlerMessage方法接收Message。

                              1. 消息入队, 怎么入队的? 怎么入队之后先进先出?
                              2. Handler是如何与当前线程绑定的?
                              edit icon编辑此页open in new window
                              上次编辑于: 2022/4/17 23:10:35
                              贡献者: zsqan
                              上一页
                              06. Handler源码解析
                              下一页
                              08. Carson Handler总结的机制源码解析
                              默认页脚
                              Copyright © 2022 Able