Android:Handler机制的原理

在主线程中定义一个Handler,在子线程中进行Message的封装,(并将需要返回的数据用Message中的Obj带回,)
用Handler的sendMessage方法进行发送消息,在sendMessage方法底层调用了SendMessageDelayed方法,
而SendMessageDelayed方法底层调用了sendMessageAttime方法,而sendMessageAtTime方法底层调用了handler
的enqueueMessage方法将消息发送给消息队列Messagequeue,同时Handler的的enqueueMessage方法调用了
Messagequeue的enqueueMessage()方法将消息压入队列,同时由Looper 提供动力,通过调用loop()方法,
loop()方法中有一个无限for循环并调用了MessageQueue的next()方法将消息运输到主线程,
通过target属性找到对应的handler,handler的dispatchMessage方法将消息分发(回调了handleMessage方法进行
)。

猜你喜欢

转载自blog.csdn.net/u010256329/article/details/51832329