Message : 用于向Handler传递消息的对象
MessageQueen : 存储Message对象的队列
Lopper : 死循环去监听MessageQueen消息队列,如果有Handler需要的数据,取出来交给Handler处理(相当于一个秘书去接收Handler(老板)所需要的信息,如果这个信息在MessageQueen中存在,则取出来交个Handler处理)
Handler :发送消息和处理消息 ---- 在主线程中,如果使用Handler,是不需要实例化Looper(ps:在主线程中,系统会默认的将Looper实例化),但是若需要在子线程中使用handler,那么必须在实例化Handler对象之前加上
Looper.prepare(); //初始化Looper
在之后便可是创建一个Handler对象
Handler mHandler = newHandler(){//这里Handler最好使用全局变量,以便全局使用
public void handleMessage(Message msg){
......
}
};
最后加上 Looper.loop();//启动消息循环
这样子线程中的Handler就创建好了....