Android子线程向主线程发送消息实现
2016-02-04 10:32
330 查看
在Android中开发应用的过程中,经常会遇到一些比较耗时的操作,比如网络请求、读取文件等操作。由于Android有一种ANR机制,UI线程阻塞超过5s就会报ANR错误。因此这些耗时的操作需要在子进程里去做。单起一个子线程去做耗时操作,可以解决ANR问题。但同时还有一个问题,就是子线程完成了操作,如何通知主线程即UI线程去做UI方面的更改。这就用到Handler。
此处讲解的是子线程向主线程发送消息。与主线程向子线程发送消息有所不同。
Handler mHandler = new Handler(){
public void HandleMessage(Message msg){
super.HandleMessage(msg);
switch(msg.what){
case 0:
//Todo something for UI;
break;
}
}
};
new Thread(){
public void run(){
//Todo something. for example,Time-consuming events.
Message msg = mHandler.obtainMessage();
msg.arg1 = 0;
mHandler.sendMessage(msg);
}
}.start();
参考:
http://ask.android-studio.org/?/article/101
此处讲解的是子线程向主线程发送消息。与主线程向子线程发送消息有所不同。
Handler mHandler = new Handler(){
public void HandleMessage(Message msg){
super.HandleMessage(msg);
switch(msg.what){
case 0:
//Todo something for UI;
break;
}
}
};
new Thread(){
public void run(){
//Todo something. for example,Time-consuming events.
Message msg = mHandler.obtainMessage();
msg.arg1 = 0;
mHandler.sendMessage(msg);
}
}.start();
参考:
http://ask.android-studio.org/?/article/101
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories