ANR
(Application Not responding),是指应用程序未响应,Android系统对于一些事件需要在一定的时间范围内完成,如果超过预定时间能未能得到有效响应或者响应时间过长,都会造成ANR。一般地,这时往往会弹出一个提示框,告知用户当前xxx未响应,用户可选择继续等待或者Force Close。
那么哪些场景会造成ANR呢?
前台服务在20s内未执行完成
前台广播10s内未执行完成
主线程阻塞/输入事件分发超过5s
内容提供者publish过程超过10s
原理
发生ANR时会调用AppNotRespondingDialog.show()方法弹出对话框提示用户
Last updated