android handler发送消息需要注意的地方
2011-04-13 10:48
369 查看
最近写的一个程序在进入和退出的时候总是莫名其妙的死机,跟了以下总算找到了出错的地方。程序在后台获取网络数据,同时更新主线程显示,
另起的线程根据handler发送数据给主线程
/*send city name*/
Message msg = new Message();
msg.what = MSG_ID_LOCATE;
msg.obj = cityname;
handler.sendMessage(msg);
msg.what = MSG_ID_PEOPLE;
msg.obj = people;
handler.sendMessage(msg);
在这里msg是申请的对象,而sendMessage是异步的,所以当再次使用msg发消息的时候,必须重新申请msg.
/*send city name*/
Message msg = new Message();
msg.what = MSG_ID_LOCATE;
msg.obj = cityname;
handler.sendMessage(msg);
Message msg1 = new Message();
msg1.what = MSG_ID_PEOPLE;
msg1.obj = people;
handler.sendMessage(msg1);
导致这个错误出现的原因是我之前做嵌入式开发用的是我们自己的写的一套GUI的时候,sendMessage都是同步,貌似minigui和ucgui也一样。
另起的线程根据handler发送数据给主线程
/*send city name*/
Message msg = new Message();
msg.what = MSG_ID_LOCATE;
msg.obj = cityname;
handler.sendMessage(msg);
msg.what = MSG_ID_PEOPLE;
msg.obj = people;
handler.sendMessage(msg);
在这里msg是申请的对象,而sendMessage是异步的,所以当再次使用msg发消息的时候,必须重新申请msg.
/*send city name*/
Message msg = new Message();
msg.what = MSG_ID_LOCATE;
msg.obj = cityname;
handler.sendMessage(msg);
Message msg1 = new Message();
msg1.what = MSG_ID_PEOPLE;
msg1.obj = people;
handler.sendMessage(msg1);
导致这个错误出现的原因是我之前做嵌入式开发用的是我们自己的写的一套GUI的时候,sendMessage都是同步,貌似minigui和ucgui也一样。
相关文章推荐
- android使用google gcm接收push消息需要注意的地方
- Android开发之Handler需要注意的地方
- Android中文出现乱码时需要注意的一些地方
- 【Android】02. 循环取消息的 Loop 和 发送消息的Handler
- win7下搭建android环境 几个需要注意的地方
- Custom URL scheme for iOS与Android需要注意的地方
- android : 修改frameworks/base/ 代码需要注意的地方
- Android AsyncTask 使用时需要注意的地方
- Android WebView开发需要注意的地方和优化
- QMutimedia for Android需要注意的地方
- Android 使用handler实现线程间发送消息 (主线程 与 子线程之间)、(子线程 与 子线程之间)
- Android非UI主线程中,若干普通Java线程使用Handler发送接收消息
- Android: 如何利用Handler处理和发送消息来实现页面刷新的功能
- Android 使用Html.fromHtml需要注意的地方
- Android 利用handler发送消息:"This message is already in use"错误
- android ExpandableListView属性以及需要注意的地方
- Android 中即时聊天或者后台任务需要发送消息的一种解决方案.
- android应用中涉及拍照等耗内存操作需要注意的地方
- Android 使用handler实现线程间发送消息 (主线程 与 子线程之间)、(子线程 与 子线程之间)
- Android-屏幕适配需要注意的地方