一、Android 消息机制:
主线程在创建完后,会创建个Looper 类不停的循环。
直到读取到Message Queue消息队列的消息,处理响应消息然后移除消息。继续循环。
(只要有一个消息遇到了耗时操作,会导致其他消息无法响应,这就是ANR的产生的原因)
二、Handler 与Looper 及Message的关系
Handler 可以发送消息Message 给Message Queue消息队列,Looper读到Message消息,
并响应消息回调Handler 的handleMessage方法(这个方法是运行在主线程中的)。
三、下面是一个使用简单列子
发送消息给消息队列
mHandler.sendEmptyMessage(RESULT_OK);复写回调方法
Handler mHandler=new Handler(){
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
/**
* Looper回调此方法,复写这个方法
*/
}
};
本文详细介绍了Android中的消息机制,包括Looper、Handler与Message之间的关系。解释了如何通过Handler发送消息给MessageQueue,Looper如何读取消息并回调Handler的handleMessage方法。
150

被折叠的 条评论
为什么被折叠?



