1、ANR是什么
ANR(Application Not Responding),即程序未响应,如果一个应用无法响应用户的输入,系统会弹出一个无响应的对话框,这个就是ANR.
2、出现的场景
- InputDispatching Timeout:5秒内无法响应屏幕触摸事件或键盘输入事件
- BroadcastQueue Timeout :在执行前台广播(BroadcastReceiver)的onReceive()函数时10秒没有处理完成,后台为60秒
- Service Timeout :前台服务20秒内,后台服务在200秒内没有执行完毕。
- ContentProvider Timeout :ContentProvider的publish在10s内没进行完。
3、如何避免
尽量避免在UI线程中执行耗时的任务
网友评论