Handler消息处理机制
2019-12-16 10:46:06 0 举报
Android中Handler从发送消息出来,到被处理的过程,主要是方便看源码。
作者其他创作
大纲/内容
MessageQueue##dispose()
Looper的Handler#dispatchMessage#msg.callback == null(说明Message中没有Runnable)
Looper#loop()停止循环
结束
是
Looper#loop()
插入队列
MessageQueue##next()返回Null
退出通知
子线程
是否拦截
无消息(阻塞等待)
Handler#SendMessage(msg)
Looper的Handler#dispatchMessage#msg.callback != null(说明Message中有Runnable)
死循环
执行Runnahle的run()方法
有新消息
MessageQueue#next()
ActivityThread(主线程)
Activity#重写handleMessage(msg)
否
true
Looper的Handler#handleMessage(msg)
Looper#msg.target.dispatchMessage(msg)(msg.target==主线程的Looper持有的Handler对象)
收藏
0 条评论
下一页