ANR
ANR (Application Not Responding) — ситуация, при которой на главном потоке задача выполняется длительное время. В это время интерфейс приложения перестает обновляться и реагировать на действия пользователя. В итоге открывается диалоговое окно, предлагающее пользователю подождать или закрыть приложение.
С помощью отчета можно определить, в каких случаях ANR случается чаще всего. Используйте эти сведения для подготовки исправлений.
Для устройств с ОС Android можно сконфигурировать механизм сбора ANR:
-
Включите сбор ANR. По умолчанию сбор ANR выключен.
-
Задайте тайм-аут — время, которое должен висеть поток, чтобы зафиксировался факт ANR. Значение по умолчанию — 5 секунд, минимальное значение — 5 секунд.
// Creating an extended library configuration.
AppMetricaConfig config = AppMetricaConfig.newConfigBuilder(API_KEY)
// Enabling ANR monitoring. Default value is false.
.withAnrMonitoring(true)
// Override ANR timeout if need. Default value is 5.
.withAnrMonitoringTimeout(7)
.build();
// Initializing the AppMetrica SDK.
AppMetrica.activate(getApplicationContext(), config);
// Creating an extended library configuration.
val config = AppMetricaConfig.newConfigBuilder(API_KEY)
// Enabling ANR monitoring. Default value is false.
.withAnrMonitoring(true)
// Override ANR timeout if need. Default value is 5.
.withAnrMonitoringTimeout(7)
.build()
// Initializing the AppMetrica SDK.
AppMetrica.activate(applicationContext, config)
Период отчета
Отчет можно просмотреть за конкретный день или период времени.
Чтобы задать период отчета вручную, используйте кнопку . Выбранный интервал можно группировать по часам, дням, неделям и месяцам.
Группировка
Данные для расчета группируются по:
- Группе ANR.
- Версии приложения.
- Устройству.
- Версии ОС.
- Производителю.
Показатели
Для анализа доступны следующие показатели:
- ANRs — количество ошибок.
- Устройства — количество устройств, на которых наблюдалась ошибка хотя бы один раз за выбранный период.
- % от всех устройств — доля устройств, с которых была отправлена ошибка, от общего числа устройств, запускавших приложение в выбранный период.
- Обнаружен в версии — версия приложения, в которой ошибка наблюдалась впервые.
- Последнее воспроизведение — версия приложения, в которой ошибка наблюдалась в последний раз.
Чтобы перейти на страницу с информацией о ANR-группе, в правом верхнем углу нажмите на название ANR-группы.
Символизация ANR
Примечание
Нельзя пересобрать маппинги для предыдущих сборок. Но если есть архивы, сформированные нашим крэш-плагином для предыдущих сборок, то их можно загрузить вручную.
Если mapping или dSYM-файл не был загружен при сборке приложения, в списке групп будет отображаться предупреждение о несимволизированных ANR.
Как символизировать ANR:
Чтобы загрузить mapping-файлы:
- Откройте Настройки → Крэши.
- Убедитесь, что загрузка файлов выбрана для ОС Android.
- Выберите файл для загрузки.
Список отсутствующих файлов можно посмотреть на странице Настройки → Крэши вашего приложения в AppMetrica.
Загрузите dSYM-файлы на iOS. Список отсутствующих файлов можно посмотреть на странице Настройки → Крэши вашего приложения в AppMetrica.
Просмотр лога ANR
Чтобы просмотреть лог:
- На странице нажмите на название нужной ANR-группы.
- В таблице нажмите кнопку Посмотреть ANR-лог.
В логе отображается информация об устройстве и ANR.
Чтобы посмотреть события, которые предшествовали ANR, из лога можно перейти в карточку профиля. Для этого нажмите кнопку Посмотреть события сессии.
Добавление комментария
Вы можете оставить комментарий к ANR. Это может быть полезно, если отчет просматривают несколько человек. Например, в комментарии можно указать ссылку на задачу в трекере.
Чтобы добавить комментарий, откройте нужную группу и введите текст в поле Комментарий.
Закрытие ANR
Чтобы отфильтровать из отчета исправленные ANR, их можно закрывать. Если после закрытия ANR будет обнаружен в версиях, в которых он ранее не был обнаружен, ANR переоткроется.
Чтобы закрыть ANR, откройте нужную группу. В правом верхнем углу в блоке Статус ANR-группы установите режим Закрыт.
Экспорт данных
Описание ANR-лога можно выгрузить в TXT-файл. Для этого откройте нужную ANR-группу, нажмите кнопку Посмотреть ANR-лог → Экспорт.
Узнать больше
- Отладка и исправление ANR на Unity-Android
- Отладка и исправление ANR на Android
- Крэши/ошибки
- Загрузка mapping-файлов и отладочных символов на Android
- Загрузка dSYM-файлов на iOS
Если вы не нашли ответ на свой вопрос, то вы можете задать его через форму обратной связи. Пожалуйста, опишите возникшую проблему как можно подробнее. Если возможно, приложите скриншот.