Выбор ответа Junior Многопоточность и WorkManager спрашивают часто обновлено

Что такое ANR

Вопрос

Когда Android показывает диалог ANR (Application Not Responding)?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Когда главный поток не обрабатывает ввод около 5 секунд. ANR возникает, если главный поток занят и не реагирует на событие ввода примерно 5 секунд (для BroadcastReceiver и сервисов свои лимиты).

Варианты ответа

  1. Когда приложение использует больше 1 ГБ памяти и система не может её выделить
  2. Когда главный поток не обрабатывает ввод около 5 секундправильный ответ
  3. Когда сетевой запрос в фоне длится дольше минуты и не отвечает
  4. Когда приложение падает с необработанным исключением на главном потоке

Разбор

ANR возникает, если главный поток занят и не реагирует на событие ввода примерно 5 секунд (для BroadcastReceiver и сервисов свои лимиты). Причина обычно в тяжёлой работе на главном потоке: диск, сеть, блокировка, долгие вычисления. Долгий запрос в фоне ANR не вызывает, нехватка памяти даёт убийство процесса или OOM, а исключение это падение (crash).

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.