
Android-Framework源码分析
文章平均质量分 62
Handler、Binder、AMS、PMS源码分析
Jokoso
这个作者很懒,什么都没留下…
展开
-
Handler 消息机制流程图(四)
一、大体流程二、epoll 流程三、MessageQueue.next如何阻塞 enqueueMessage唤醒原创 2021-02-07 04:27:06 · 648 阅读 · 0 评论 -
Handler 消息机制源码分析(三)
一、非主线程中使用Handler先官方一段话Looper.prepare:会创建一个looper 一个MessageQueue 一个NatvieMessage 一个 fd文件描述符Looper.loop:开启自己的循环读取消息二、Looper中的IO复用一个 MessageQueue 对应一个mPtr1.我们Android中可以创建多个MessageQueue 所需需要用IO复用Looper中的 MessageQueue N个Handler 发送Message(阻塞在 IO复用中)同一个文件原创 2021-02-06 02:56:51 · 188 阅读 · 1 评论 -
Handler 消息机制源码分析(二)epoll IO复用
一、MessageQueue 构造方法1.android_os_MessageQueue.cpp 中初始化android_os_MessageQueue_nativeInit(void)MessageNative 的初始化 以及返回mptr初始化做了什么创建NatvieMessage创建Looper对象 (根据当前线程 有点像ThreadLocal)返回mPtr 指针 指向的就是这个NativeMessage对象2.Looper初始化做了什么这个 Looper 构造方法 做了原创 2021-02-06 02:46:14 · 247 阅读 · 0 评论 -
Handler 消息机制源码分析(一)
学习Handler 需要掌握ThreadLocal、Linux内核的IO复用 epoll配合源码一起看更好一、ActivityThread main方法Looper初始化1.Looper.prepareMainLooper2.Looper.loop方法loop 方法非常重要 他主要2件事从MessageQueue.next 读取消息对象调用Message.target.dispatchMessage 就是handler的dispatchMessage二、Handler如何存入消原创 2021-02-06 02:19:10 · 168 阅读 · 1 评论