【android,13】13.避免anr(application no response)的操作
来源:互联网 发布:软件疲劳强度测试 编辑:程序博客网 时间:2024/04/26 19:28
一、出现applicationno response 原因:
1、原因:
①、activity是在主线程里面被创建的,
activity里面的按钮控件的点击事件,
界面的显示 view对象内容的更改,
这些操作都是运行在主线程里面的.
主线程还处理Window.Callback, KeyEvent.Callback,
与窗体相关显示的回调函数, 还处理了与点击,键盘
等相关的点击事件.
所以当主线程阻塞久了就不能响应其他操作,就会报anr(application no response)异常。
二、为了避免应用程序出现anr的异常:
1.耗时的操作都不能放在主线程里面执行,要放在子线程中执行,这些操作。
如以下操作:
拷贝大的文件. 100M
访问网络的操作
阻塞式的请求. udp socket
例:
public class AnrActivityextends Activity {
public void onCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
//按钮的点击事件:
public void click(View view){
newThread(){ //创建子线程:
public void run() {
System.out.println("睡眠10秒钟");
System.out.println(Thread.currentThread().getName());
//当前线程睡眠10秒钟
try {
Thread.currentThread().sleep(10000);
}catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
};
}.start();
}
}
- 【android,13】13.避免anr(application no response)的操作
- Android之ANR异常Application Not Response
- Android笔记 ANR Application Not Response
- 压力测试 Monkey 应用程序无响应ANR Application No Response
- Android应用中如何避免出现ANR(Application NotResponding)
- 如何避免Android程序的ANR
- 如何避免android ANR
- Android ANR是什么?如何避免ANR
- Android ANR介绍与避免
- 避免Android开发中的ANR
- 避免Android开发中的ANR
- 避免Android开发中的ANR
- 避免Android开发中的ANR
- 避免Android开发中的ANR
- Android避免ANR之StrictMode
- 避免Android开发中的ANR
- 避免Android开发中的ANR
- Android ANR介绍与避免
- 语音识别系统之htk------孤立词识别(yesno)
- windows xp下安装nfs客户端,使得windows xp 与 ubuntu 可以通过nfs共享文件夹
- 【android,12】12.handler 与message机制更改界面信息
- winform 只能输入数字(小数)
- 新手入门--输入格式四
- 【android,13】13.避免anr(application no response)的操作
- jquery遍历json数组方法
- FPGA 和 ASIC 开发的区别
- acm-1-n之间能够被m整除的数的和
- SQL EXISTS学习笔记
- 5、app启动流程、AppDelegate.m分析、xib介绍-OC+UI
- linux kernel panic 调用过程
- 给HTML初学者的三十条最佳实践
- 吃饭。睡觉。打豆豆。