注意:我们创建Handler的对象调用post方法,然后传递进去一个Runnable对象的这种方式并不会创建一个新的线程。
HandlerThread和Looper :HandlerThread是Thread的子类
以下是应用框架:
1. 首先创建 HandlerThread对象
2. 对用HandlerThread对象的start方法启用新线程
3. 创建一个类继承Handler,调用含有Looper的构造函数
public class MyHandler extends Handler{
public MyHandler (Looper looper){
super(looper);
}
public void handlerMessage(Message msg){}
}
4. 创建MyHandler 的实例,并且传入HandlerThread实例的getLooper作为参数
MyHandler handler = new MyHandler(new HandlerThread.getLooper());
Message message = handler.obtainMessage();
//目标为获得该Message对象的Handler对象
message.sendToTarget();