init
init根据init.rc 启动zygote和servicemanager。
ASM && AMP
context
Handler
activityThread创建Looper过程
Looper 读取消息队列过程
handler 创建过程
handler重构过程
如图,使用过程中我们都会重构handleMessage方法,Handler类会利用该方法进行队列填充。
构造的handlemessage最终通过 looper msg.target.dispatchMessage调用。
Handler使用过程
- ActivityThread启动looper
- Looper 创建MessageQueue实例
- 使用时,创建Handler 并重构handlemessage(), 填充消息信息。
- Looper会查询队列调用handlemessage处理消息信息。
- 如果要在子线程中使用Handler 就需要新建Looper,传给Handler即可。
Activity && Application