Handler机制的架构
主要由Looper Handler Thread Message MessageQueue
这个几个对象构成
它们分别的作用:
Looper 负责轮询地从MessageQueue中取出消息,并发送到message所绑定的target对象Handler
Handler会分发该消息,进行callback方法或者handleMessage方式处理
Handler 发送消息\处理消息
Thread 机制依赖的线程载体
Message 消息的封装抽象
MessageQueue 管理message
一张图直观说明整个机制的运行流程:
一般使用代码:
class LooperThread extends Thread {
public Handler mHandler;
public void run(){
Looper.prepare();
mHandler = new Handler(){
public void handleMessage(Message msg){
// processs incoming messages here 处理消息
}
}
Looper.loop();
}
}
LooperThread mThread = new LooperThread();
mThread.start();
mThread.mHandler.sendMessage(msg);//发送消息