На Android, как долго я должен отвечать (и на что?), Прежде чем быть убитым? - PullRequest
4 голосов
/ 09 августа 2011

Насколько я понимаю, в Android, если вы не отреагируете на определенные события операционной системы в течение некоторого времени ожидания, ваше приложение будет зависать и предложит пользователю убить его.

Итак, мой первый вопрос: что, конкретно , эти вещи? Я думаю, что такие вещи, как Activity.onPause, View.onTouchEvent, SurfaceHolder.Callback.surfaceCreated и т. Д.? Есть ли список? Или это просто каждый обратный вызов из ОС?

(Или, возможно, это реализовано так, как часто какая-либо очередь сообщений потока внутренне опрашивается? Подробности?)

И мой второй вопрос: как долго время ожидания?

1 Ответ

4 голосов
/ 09 августа 2011

Если в течение 5 секунд нет ответа, пользователь получает сообщение «Экран приложения не отвечает».На мой взгляд, вы должны ответить на что-либо, запущенное в главном потоке, в течение 5 секунд, в противном случае пользователю будет предложено убить ваше приложение.

Еще хуже, если поток пользовательского интерфейса заблокирован для болеечем через несколько секунд (в настоящее время около 5 секунд) пользователю предоставляется печально известное диалоговое окно «приложение не отвечает» (ANR).

Источник

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...