android对hander中的messageQueue的操作,可以看出msg.target.dispatchMessage(msg);--》
public void dispatchMessage(Message msg) {
if (msg.callback != null) {
if (msg.callback != null) {
//如果message本身有callback,则直接交给message的callback处理
handleCallback(msg);
} else {
if (mCallback != null) {
handleCallback(msg);
} else {
if (mCallback != null) {
//如果本Handler设置了mCallback,则交给mCallback处理
if (mCallback.handleMessage(msg)) {
return;
}
}
if (mCallback.handleMessage(msg)) {
return;
}
}
//如果都没有,则交给Handler子类实现的handlerMessage处理。
handleMessage(msg);
}
}
handleMessage(msg);
}
}