Причины возникновения ANR и как этого избежать
|
|
Четверг, 07 Февраля 2019 г. 12:09
+ в цитатник
ANR (Application Not Responding) — ошибка, которая возникает, когда приложение не отвечает. В итоге открывается диалоговое окно, предлагающее пользователю подождать или закрыть приложение.
Условия возникновения ANR
- Входные события (кнопки и сенсорные события) не обрабатываются в течение 5 секунд;
- BroadcastReceiver (onRecieve()) не был обработан в течение указанного времени (foreground — 10 с, background — 60 с);
- ContentProvider не завершен в течение 10 секунд.
Обычно основной поток блокируется.
Если вы читали мои статьи, то наверно уже привыкли к тому, что мы лезет в исходный код. Так что давайте посмотрим как выглядит
ANR под капотом.
Класс
AppErrors занимается обработкой не только ANR, но и других ошибок, которые могут возникнуть в приложении, включая crash. Метод handleShowAnrUi() как раз и открывает это страшное для многих разработчиков и пользователей окно, отображающее ANR.
Читать дальше -> https://habr.com/ru/post/439086/?utm_source=habrahabr&utm_medium=rss&utm_campaign=439086
Метки:
Разработка мобильных приложений
Разработка под Android
Тестирование мобильных приложений
ANR
android development
mobile development
crash
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-