在 Android 上,我需要响应多长时间(以及响应什么?)才会被杀死?

And*_*ell 5 android timeout

在Android上,我的理解是,如果你在一段时间内没有响应操作系统的某些事件,它会认为你的应用程序已经挂起并提示用户杀死它。

所以我的第一个问题是:这些东西具体是什么?我会猜测诸如Activity.onPause,,,等等之类View.onTouchEvent的东西?SurfaceHolder.Callback.surfaceCreated有清单吗?或者只是来自操作系统的每个回调?

(或者它可能是按照某个线程消息队列内部轮询的频率来实现的?详细信息?)

我的第二个问题是:超时是多长时间?

Ind*_*õue 5

如果 5 秒内没有响应,用户会看到“应用程序没有响应”屏幕。在我看来,你必须在 5 秒内响应主线程上运行的任何内容,否则用户将被提示终止你的应用程序。

更糟糕的是,如果 UI 线程被阻塞超过几秒(当前约为 5 秒),用户就会看到臭名昭著的“应用程序未响应”(ANR) 对话框。

来源