Что такое ANR в Android и как мы, разработчики, узнаем, где именно произошло ANR в нашем приложении?

ANR означает «Приложение не отвечает», которое возникает, когда приложение не отвечает в течение 5 секунд.

Разработчик может легко узнать по логам, какая строка кода вызвала исключение ANR.

Таким образом, вот несколько дополнительных советов, помимо того, что вы должны сделать, чтобы избежать ANR и сделать ваше приложение отзывчивым для пользователей:

  • Если ваше приложение выполняет работу в фоновом режиме в ответ на пользовательский ввод, покажите, что прогресс достигнут (например, с помощью ProgressBar в вашем пользовательском интерфейсе).
  • Специально для игр делайте вычисления для ходов в рабочем потоке.
  • Если ваше приложение имеет длительную начальную фазу настройки, рассмотрите возможность показа заставки или рендеринга основного вида как можно быстрее, укажите, что идет загрузка, и заполните информацию асинхронно. В любом случае вы должны как-то указать, что прогресс достигнут, чтобы пользователь не почувствовал, что приложение заморожено.
  • Используйте инструменты производительности, такие как Systrace и Traceview, чтобы определить узкие места в отзывчивости вашего приложения.
0

Ура! Вы первые нашли эту информацию, сделайте доброе дело, поделитесь ей в: