Android消息机制及Handler与Looper和Message的关系

一、Android 消息机制:

主线程在创建完后,会创建个Looper 类不停的循环。
直到读取到Message Queue消息队列的消息,处理响应消息然后移除消息。继续循环。
(只要有一个消息遇到了耗时操作,会导致其他消息无法响应,这就是ANR的产生的原因)

二、Handler 与Looper 及Message的关系

Handler 可以发送消息Message 给Message Queue消息队列,Looper读到Message消息,
并响应消息回调Handler 的handleMessage方法(这个方法是运行在主线程中的)。

三、下面是一个使用简单列子

发送消息给消息队列

1
mHandler.sendEmptyMessage(RESULT_OK);

覆写回调方法

1
2
3
4
5
6
7
8
9
10
Handler mHandler=new Handler(){
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
/**
* Looper回调此方法,复写这个方法
*/
}
};