ProcessDialog结合Thread处理耗时操作(Handler和Thread)
2012-04-10 01:33
344 查看
很多初入Android开发的网友表示经常遇到ANR这类的UI假死或提示强制关闭的问题,有的网友可能想到通过创建一个AndroidService的方式来解决耗时操作的假死,但是还有一个简单实用的方法通过创建一个线程而不是服务的方式来解决耗时操作时的假死或等待。
在一个名为test的Activity中,我们通过一个进度条控件ProgressDialog可以处理很多耗时操作。代码如下
final ProgressDialog dialog = ProgressDialog.show(test.this,"标题", "正文", true);
final Handler handler = new Handler(){
public voidhandleMessage(Message msg){
dialog.dismiss(); //关闭progressdialog
}
};
Thread cwjThread = new Thread(){
public void run(){
//这里处理耗时操作,比如文件下载等等。
handler.sendEmptyMessage(0); //告诉handler
}
};
cwjThread.start();
在一个名为test的Activity中,我们通过一个进度条控件ProgressDialog可以处理很多耗时操作。代码如下
final ProgressDialog dialog = ProgressDialog.show(test.this,"标题", "正文", true);
final Handler handler = new Handler(){
public voidhandleMessage(Message msg){
dialog.dismiss(); //关闭progressdialog
}
};
Thread cwjThread = new Thread(){
public void run(){
//这里处理耗时操作,比如文件下载等等。
handler.sendEmptyMessage(0); //告诉handler
}
};
cwjThread.start();
相关文章推荐
- ProcessDialog结合Thread处理耗时操作
- ProgressDialog和Thread结合处理耗时操作
- Handler和Thread-----处理耗时比较长的操作
- 在 .NET Web 开发中,使用 ThreadPool.QueueUserWorkItem 异步地处理耗时操作
- android 的Handler处理UI主线程外的耗时操作
- 深入理解Android消息处理系统——Looper、Handler、Thread
- 深入理解Android消息处理系统——Looper、Handler、Thread
- android listview综合使用演示样例_结合数据库操作和listitem单击长按等事件处理
- 深入理解Android消息处理系统——Looper、Handler、Thread
- 开启处理耗时操作的方法–IntentService
- android开发 用线程进行耗时操作,统一处理 第二版
- 深入理解Android消息处理系统——Looper、Handler、Thread
- 深入理解Android消息处理系统——Looper、Handler、Thread
- android listview综合使用示例_结合数据库操作和listitem单击长按等事件处理
- 深入理解Android消息处理系统——Looper、Handler、Thread(转)
- How:Thread、Runnable和Handler的完美结合
- runnable与handler结合使用,其实跟在Thread中的run()中sleep的效果是一样的
- Android开发(22)--seekBar采用handler消息处理操作
- UI系统中的耗时操作处理
- Android学习札记26:深入理解Android中的消息处理机制——Thread、Looper、MessageQueue和Handler(1)