ANR
定义
- ANR(Application Not Response):app未响应;会弹出窗口询问用户选择“强制关闭”或者“继续等待/等一下”
- 选择”强制关闭“则杀掉发生ANR的进程
- 选择”继续等待/等一下”则等待系统恢复此应用
发生原因
- ANR由于应用程序的主线程响应超时导致的 (大量的数据库读写、耗时的网络访问、调用手机的某些功能超时):
KeyDispatchTimeout(5 seconds)–按键或触摸事件在特定时间内无响应;(输入事件)
BroadcastTimeout(10 seconds)–BroadcastReceiver在特定时间内无法处理完成;(特定操作)
ServiceTimeout(20 seconds)–Service在特定的时间内无法处理完成;(特定操作)
测试中如何关注
- 对部分上传文件较大的页面、保存文件信息较多的动作,比如电话本信息、带有图片的记事本保存等操作。
- 对某一时间的网络进行极限使用,在被测应用的一个场景无法使用网络的情况下关注。