Выбор ответа Middle Производительность и утечки памяти обновлено

ANR и jank

Вопрос

Чем ANR отличается от jank?

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

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

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

Коротко

Правильный ответ: Jank это пропуск кадров, ANR нет ответа на ввод около 5 секунд и диалог закрытия. Оба вызваны перегрузкой главного потока, но масштаб разный.

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

  1. Ничем: это два названия одного события в разных инструментах профилирования
  2. ANR бывает только при блокировке фоновых потоков, а jank при блокировке главного
  3. Jank это пропуск кадров, ANR нет ответа на ввод около 5 секунд и диалог закрытияправильный ответ
  4. Jank это падение приложения при рендеринге, а ANR зависание без падения

Разбор

Оба вызваны перегрузкой главного потока, но масштаб разный. Задача дольше бюджета кадра (16 мс при 60 Гц) приводит к пропуску кадров. Если главный поток не реагирует на ввод примерно 5 секунд, это ANR с диалогом и записью в Android Vitals. ANR связан именно с главным потоком, а падение (crash) это третий тип проблемы.

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

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