android 中handleMessage和dispatchMessage的区别? 本人菜鸟,在看代码中 Handler 类中发现了handleMessage(Message msg) 和dispatchMessage(Message msg)这两种方法,恰巧想在别的项目中发现有人使用dispatchMessage,同时查看额百度上,未能名表两则的区别! 请有此方面的经验的老前辈,给详细的说下!不胜感激,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 dispatchMessage的源码public void dispatchMessage(Message msg) { if (msg.callback != null) { handleCallback(msg); } else { if (mCallback != null) { if (mCallback.handleMessage(msg)) { return; } } handleMessage(msg); } }从名字可以看出来dispatchMessage是分发msg,决定给谁处理,handleMessage是用来具体处理msg的方法当然了,由于是同一个msg对象,在dispatchMessage中处理肯定也是能正确处理的 根据以前的做的Dispatch相关的代码, DispatchMessage函数将消息传给窗体函数去处理, 可以理解为系统分发,大体如下:先发到SYSUI,如果SYSUI没有拦截,就分发到Activity的Dispatch,再转发到窗体,窗体处理后转成别的信息;handleMessage 一般用于类内部,并且有指定的Handler 接收信息!这只是我的片面理解,请大神指教!! 关于Fragment的切换状态保存问题 android 设计开发的问题 求大神给点建议 linux的eclipse开发android没法用手机运行 读取通讯录联系人很慢的问题 移植ntfs-3g到android 关于打包签名的问题 TabActivity布局的页签高度设置问题 android sdk android 图片按控件的大小等比例缩放的问题,路过的大神们帮帮忙。 android知栏的消息内容 Android Glide的onResourceReady会执行两次,怎么破?
public void dispatchMessage(Message msg) {
if (msg.callback != null) {
handleCallback(msg);
} else {
if (mCallback != null) {
if (mCallback.handleMessage(msg)) {
return;
}
}
handleMessage(msg);
}
}从名字可以看出来dispatchMessage是分发msg,决定给谁处理,handleMessage是用来具体处理msg的方法
当然了,由于是同一个msg对象,在dispatchMessage中处理肯定也是能正确处理的
先发到SYSUI,如果SYSUI没有拦截,就分发到Activity的Dispatch,再转发到窗体,窗体处理后转成别的信息;
handleMessage 一般用于类内部,并且有指定的Handler 接收信息!
这只是我的片面理解,请大神指教!!