ANR是“Application Not Responding”的缩写,即“应用程序无响应”。系统会向用户显示一个对话框,用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。
在Android中,应用程序的响应是由Activity Manager和WindowManager系统服务监视的 。当它监测到A、B、C情况中的一个时,Android就会针对特定的应用程序显示ANR:
A.在5秒内没有响应输入的事件(例如,按键按下,屏幕触摸)--主要类型
B.BroadcastReceiver在10秒内没有执行完毕。
C.Service在特定时间内(20秒内)无法处理完成--小概率类型。