Android 触发 ANR 之前的毫秒数?
How long in milliseconds before Android triggers an ANR?
在触发 ANR 之前,主线程可以在 Android 上阻塞多长时间?
令人惊讶的是,我似乎找不到这个问题的答案。
这告诉我没有固定的数量,这可能取决于设备,Android 版本,and/or 运行环境。
是否可以通过在运行时检查一些全局变量来简单地找到它?
如果不是,那么Android用来决定超时长度的formula/algorithm是什么?
当出现以下情况之一时,您的应用将触发 ANR:
当您的 activity 处于前台时,您的应用在 5 秒内未响应输入事件或 BroadcastReceiver(例如按键或屏幕触摸事件)。
虽然您在前台没有 activity,但您的 BroadcastReceiver 在相当长的时间内尚未完成执行。
来源:https://developer.android.com/topic/performance/vitals/anr
在触发 ANR 之前,主线程可以在 Android 上阻塞多长时间?
令人惊讶的是,我似乎找不到这个问题的答案。
这告诉我没有固定的数量,这可能取决于设备,Android 版本,and/or 运行环境。
是否可以通过在运行时检查一些全局变量来简单地找到它?
如果不是,那么Android用来决定超时长度的formula/algorithm是什么?
当出现以下情况之一时,您的应用将触发 ANR:
当您的 activity 处于前台时,您的应用在 5 秒内未响应输入事件或 BroadcastReceiver(例如按键或屏幕触摸事件)。 虽然您在前台没有 activity,但您的 BroadcastReceiver 在相当长的时间内尚未完成执行。
来源:https://developer.android.com/topic/performance/vitals/anr