Выбор ответа Junior Многопоточность и WorkManager спрашивают часто обновлено
Что такое ANR
Вопрос
Когда Android показывает диалог ANR (Application Not Responding)?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Когда главный поток не обрабатывает ввод около 5 секунд. ANR возникает, если главный поток занят и не реагирует на событие ввода примерно 5 секунд (для BroadcastReceiver и сервисов свои лимиты).
Варианты ответа
- Когда приложение использует больше 1 ГБ памяти и система не может её выделить
- Когда главный поток не обрабатывает ввод около 5 секундправильный ответ
- Когда сетевой запрос в фоне длится дольше минуты и не отвечает
- Когда приложение падает с необработанным исключением на главном потоке
Разбор
ANR возникает, если главный поток занят и не реагирует на событие ввода примерно 5 секунд (для BroadcastReceiver и сервисов свои лимиты). Причина обычно в тяжёлой работе на главном потоке: диск, сеть, блокировка, долгие вычисления. Долгий запрос в фоне ANR не вызывает, нехватка памяти даёт убийство процесса или OOM, а исключение это падение (crash).
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.