Выбор ответа Middle Производительность и холодный старт обновлено

Что такое ANR

Вопрос

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

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

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

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

Коротко

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

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

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

Разбор

ANR это сигнал, что главный поток заблокирован: синхронная сеть, диск, блокировки, тяжёлые вычисления. Пороги: около 5 секунд на событие ввода, у BroadcastReceiver свои таймауты. Доля ANR в Android vitals влияет на видимость в Google Play. Память и сеть сами ANR не вызывают, крэш это другое событие.

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

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