handler机制,即Android的消息处理机制,主要用于Android线程间通信,主线程更新UI,发送消息,处理消息。
工作流程:
1、在线程中调用Looper.prepare(),在当前线程中保持一个looper对象,且一个线程只能有一个looper对象,同时looper对象里面保持了一个messageQueue对象
注:主线程创建的时候已经实现了Looper.prepare()。
2、实例化handler对象,使得handler和looper相关联,实现handleMessage方法
3、handler发送消息,sendMessage,消息被插入到消息队列
4、looper.looper()方法,是一个死循环,不断的轮询消息队列,拿到消息后,调用
msg.target.dispatchMessage方法,将消息分发到绑定的handler,调用handleMessage方法处理消息
网友评论