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

时间:2011-08-09 07:19:59

标签: android timeout

在Android上,我的理解是,如果您在某些超时内没有响应操作系统中的某些事件,它会认为您的应用程序已挂起并提示用户将其终止。

所以我的第一个问题是:具体是什么?我会猜到Activity.onPauseView.onTouchEventSurfaceHolder.Callback.surfaceCreated等内容?有清单吗?或者它只是来自操作系统的每一个回调?

(或者它可能实现为内部轮询一些线程消息队列的频率?详情?)

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

1 个答案:

答案 0 :(得分:4)

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

  

更糟糕的是,如果UI线程被阻止超过几秒钟(当前大约5秒),则会向用户显示臭名昭着的“应用程序无响应”(ANR)对话框。

Source