Как отслеживать производительность приложения с помощью Android Vitals

В Play Console доступны данные о том, насколько стабильно приложение, как оно расходует заряд батареи и как долго загружается интерфейс.

Эта информация поступает с устройств Android разных версий, пользователи которых разрешили автоматически отправлять данные для диагностики. Подробнее о том, как пользователи Android предоставляют общий доступ к данным, можно узнать в Справочном центре Аккаунтов.

Свернуть Развернуть

Типы данных 

Расход заряда батареи
  • Зависшие запреты блокировки
  • Зависшие фоновые запреты блокировки
  • Слишком частое пробуждение
  • Слишком частое фоновое сканирование Wi-Fi
  • Избыточный фоновый мобильный трафик
Стабильность
  • Доля ошибок ANR
  • Доля многократных ошибок ANR
  • Доля сбоев
  • Доля многократных сбоев
Время обработки
  • Медленная обработка (16 мс)
  • Зависшие фреймы интерфейса (700 мс)
Время запуска приложения
  • Медленный холодный запуск
  • Медленный теплый запуск
  • Медленный горячий запуск
Разрешения
  • Отклоненные разрешения

Просмотр статистики

Диапазон дат на странице Android Vitals нельзя изменить. Он охватывает все данные, доступные о вашем приложении. Все сведения указываются по тихоокеанскому времени (PT).

Важно! Если данные недоступны, Android Vitals не сможет выявить проблемы в приложении из-за нехватки значений после применения фильтров. 

Чтобы просмотреть сведения Android Vitals, выполните следующие действия:

  1. Войдите в Play Console.
  2. Выберите приложение.
  3. В меню слева нажмите Android Vitals > Общие сведения.
  4. Выберите способ просмотра данных приложения.
Панель общих сведений и страницы с описанием показателей

Основные показатели Android Vitals

В верхней части страницы Общие сведения можно просмотреть основные показатели Android Vitals вашего приложения – показатели производительности, которые могут повлиять на доступность и рейтинг приложения в Google Play. К ним относятся:

  • зависшие фоновые частичные запреты блокировки;
  • слишком частое пробуждение;
  • доля ошибок ANR;
  • доля сбоев.

Если в работе приложения возникают критические неполадки, включая превышение порогов соответствия и значительные изменения данных о производительности (проблемы), эта страница поможет быстро найти пути их устранения. Чтобы получать уведомления по электронной почте о значительных изменениях в ANR, кластерах сбоев или Android Vitals, перейдите на страницу Настройки > Параметры.

Важно! Чтобы обеспечить максимальную производительность приложения, необходимо выявлять и устранять все неполадки до достижения порога соответствия.

Просмотр всех показателей Android Vitals

Посередине страницы Общие сведения можно просмотреть информацию обо всех показателях Android Vitals по типу данных. Чтобы применить фильтр, необходимо выбрать параметры и период времени.

Вы можете просмотреть процент затронутых сеансов приложения по каждому показателю для текущего и предыдущего периода времени, а также сравнить эффективность своего приложения с другими продуктами в Google Play, просмотрев разницу между их медианами.

Подробные сведения о показателях

Чтобы просмотреть дополнительные сведения о показателе, нажмите Подробнее. На открывшейся странице вы увидите следующую информацию:

  • Проблемы c производительностью (только основные показатели Android Vitals).
  • Пороги соответствия (только основные показатели Android Vitals).
  • Сравнение по категории.
  • Подробное сравнение контрольных показателей.
    • В верхней части страницы на карточке сравнения аналогов нажмите Изменить группу аналогов, чтобы изменить специальную группу аналогов. После этого вы сможете сравнить свое приложение с другими продуктами в Google Play.
  • Показатели по версии APK-файла, устройству, версии ОС, сравнению или периоду.
    • Чтобы получить больше информации, раскрывайте строки в таблицах, нажимая стрелки справа.
Фильтр по проблемам

В верхней части страницы Общие сведения некоторые показатели могут быть обозначены красным значком ошибки . Он указывает на проблемы (значение показателя выше, чем у других приложений).

Выберите карту со значком, чтобы узнать, в каких APK-файлах приложения обнаружены проблемы.

Сведения о показателях

Зависшие запреты блокировки и зависшие фоновые запреты блокировки

На страницах Зависшие запреты блокировки и Зависшие фоновые запреты блокировки показаны сведения о срабатывании частичного запрета блокировки через класс PowerManager. При частичном запрете блокировки процессор продолжает работать, а подсветка клавиатуры и экран выключаются.

Сведения о сборе данных

  • Для обеспечения конфиденциальности из тегов частичного запрета блокировки удаляется личная информация.
  • Данные о работе частичного запрета блокировки собираются, когда экран выключен и устройство не заряжается.
  • Данные о зависших фоновых запретах блокировки собираются, только когда приложение работает в фоновом режиме.
  • Чтобы показать количество сеансов, во время которых долго работал частичный запрет блокировки, рассчитывается максимальный период активности этой функции за сеанс без зарядки. Например, если пользователь дважды включит эту функцию на один час, то максимальный период ее действия составит час.
  • Если в файлах манифеста приложений заданы идентификаторы sharedUserId, данные появятся только при условии, что идентификаторы установленных приложений не повторяются.

Сведения Android Vitals

  • Затронуто сеансов. Процент сеансов без зарядки, во время которых запрет блокировки работал более одного часа.
  • Количество сеансов. Приблизительное количество записанных сеансов.
  • 90-й или 99-й процентиль. В ходе 10% или 1% сеансов за день продолжительность частичных запретов блокировки превысила указанное значение.
  • Нижний квартиль. Если частота возникновения равна указанному порогу или выше его, приложение попадает в последние 25% из 1000 самых популярных приложений в Google Play (по количеству установок). 

Устранение неполадок

Если запрет блокировки срабатывает слишком часто, найдите решение этой проблемы на сайте для разработчиков Android.

Слишком частое пробуждение

На странице Слишком частое пробуждение показаны сведения о пробуждении с помощью Alarm Manager. Вы увидите данные для класса ELAPSED_REALTIME_WAKEUP или RTC_WAKEUP.

Сведения о сборе данных

  • Для обеспечения конфиденциальности из тегов пробуждения удаляется личная информация.
  • Данные собираются, когда батарея не заряжается.
  • Число активаций функции пробуждения сравнивается с длительностью сеанса без зарядки. Чтобы определить количество пользователей, у которых она срабатывает слишком часто, рассчитывается количество ее активаций в час для каждого человека.
  • Если в файлах манифеста приложений заданы идентификаторы sharedUserId, данные появятся только при условии, что идентификаторы установленных приложений не повторяются.

Сведения Android Vitals

  • Затронуто сеансов. Процент сеансов без зарядки, во время которых пробуждение срабатывало чаще 10 раз в час. Сеанс без зарядки – период между двумя полными зарядками устройства. Google собирает данные, когда батарея не заряжается.
  • Количество сеансов. Приблизительное количество записанных сеансов.
  • 90-й или 99-й процентиль. В ходе 10% или 1% сеансов за день частота пробуждения в час превысила указанное значение.
  • Нижний квартиль. Если частота возникновения равна указанному порогу или выше его, приложение попадает в последние 25% из 1000 самых популярных приложений в Google Play (по количеству установок). 

Устранение неполадок

Если пробуждение срабатывает слишком часто, найдите решение этой проблемы на сайте для разработчиков Android.

Слишком частое фоновое сканирование Wi-Fi

На странице Слишком частое фоновое сканирование Wi-Fi показано, когда сканирование Wi-Fi быстро разряжает батарею. 

Сведения о сборе данных

Данные сканирования Wi-Fi собираются, когда устройство не заряжается, а приложение находится в фоновом режиме.

Сведения Android Vitals

  • Затронуто сеансов. Процент сеансов без зарядки, во время которых выполнялось более четырех сканирований Wi-Fi в час.
  • Количество сеансов. Приблизительное количество записанных сеансов.
  • 90-й или 99-й процентиль. В ходе 10% или 1% сеансов за день частота фонового сканирования Wi-Fi в час превысила указанное значение.
  • Нижний квартиль. Если частота возникновения равна указанному порогу или выше его, приложение попадает в последние 25% из 1000 самых популярных приложений в Google Play (по количеству установок). 

Устранение неполадок

Если фоновое сканирование Wi-Fi происходит слишком часто, найдите решение этой проблемы на сайте для разработчиков Android

Избыточный фоновый мобильный трафик

На странице Избыточный фоновый мобильный трафик показано, когда большой объем мобильного трафика связан с работой в фоновом режиме. Если приложение потребляет мобильный трафик в фоновом режиме, пользователи не могут быстро остановить передачу данных. 

Сведения о сборе данных

Данные об объеме мобильного трафика собираются, когда устройство не заряжается, а приложение находится в фоновом режиме.

Сведения Android Vitals

  • Затронуто сеансов. Процент сеансов без зарядки, во время которых объем фонового мобильного трафика превышал 50 МБ в час.
  • Количество сеансов. Приблизительное количество записанных сеансов.
  • 90-й или 99-й процентиль. В ходе 10% или 1% сеансов за день объем фонового мобильного трафика в час превысил указанное значение.
  • Нижний квартиль. Если частота возникновения равна указанному порогу или выше его, приложение попадает в последние 25% из 1000 самых популярных приложений в Google Play (по количеству установок). 

Устранение неполадок

Если объем фонового мобильного трафика слишком высокий, найдите решение этой проблемы на сайте для разработчиков Android.

Доля ошибок ANR и доля многократных ошибок ANR

Интерпретация данных

Информация на страницах Доля ошибок ANR и Доля многократных ошибок ANR похожа на сведения на странице Ошибки ANR и сбои. На странице Android Vitals данные об ошибках ANR и использовании приложения объединены в один показатель.

Сведения о доле ошибок ANR

  • Затронуто сеансов. Процент сеансов в день, во время которых произошла хотя бы одна ошибка ANR. Учитываются дни, когда ваше приложение использовалось. Например, если два человека пользовались приложением в течение двух дней, число сеансов равно четырем.
  • Число сеансов без ANR. Процент сеансов в день, во время которых не возникали ошибки ANR. Учитываются дни, когда ваше приложение использовалось.
  • Количество сеансов. Приблизительное количество записанных сеансов.
  • Нижний квартиль. Если частота возникновения равна указанному порогу или выше его, приложение попадает в последние 25% из 1000 самых популярных приложений в Google Play (по количеству установок). 
  • Связанные ошибки ANR. Чтобы просмотреть сведения об ошибках ANR в режиме реального времени, нажмите на ссылку Ошибки ANR. Вы перейдете на страницу Ошибки ANR и сбои в Play Console.

Сведения о доле многократных ошибок ANR

  • Затронуто сеансов. Процент сеансов в день, во время которых произошло не менее двух ошибок ANR. Учитываются дни, когда ваше приложение использовалось. Например, если два человека пользовались приложением в течение двух дней, число сеансов равно четырем.
  • Не затронуто сеансов. Процент сеансов в день, во время которых произошла одна ошибка ANR или их не было вовсе. Учитываются дни, когда ваше приложение использовалось.
  • Количество сеансов. Приблизительное количество записанных сеансов.
  • Связанные ошибки ANR. Чтобы просмотреть сведения об ошибках ANR в режиме реального времени, нажмите на ссылку Ошибки ANR. Вы перейдете на страницу Ошибки ANR и сбои в Play Console.

Устранение неполадок

Если в вашем приложении часто возникают ошибки ANR, найдите решение этой проблемы на сайте для разработчиков Android.

Доля сбоев и доля многократных сбоев

Интерпретация данных

Информация на страницах Доля сбоев и Доля многократных сбоев похожа на сведения, представленные на странице Ошибки ANR и сбои. На странице Android Vitals данные о сбоях и использовании приложения объединены в один показатель.

Сведения о доле сбоев

  • Затронуто сеансов. Процент сеансов в день, во время которых произошел хотя бы один сбой. Учитываются дни, когда ваше приложение использовалось. Например, если два человека пользовались приложением в течение двух дней, число сеансов равно четырем.
  • Число сеансов без сбоев. Процент сеансов в день, во время которых не возникали сбои. Учитываются дни, когда ваше приложение использовалось.
  • Количество сеансов. Приблизительное количество записанных сеансов.
  • Нижний квартиль. Если частота возникновения равна указанному порогу или выше его, приложение попадает в последние 25% из 1000 самых популярных приложений в Google Play (по количеству установок). 
  • Связанные сбои. Чтобы просмотреть сведения о сбоях в режиме реального времени, нажмите на ссылку Сбои. Вы перейдете на страницу Ошибки ANR и сбои в Play Console.

Сведения о доле многократных сбоев

  • Затронуто сеансов. Процент сеансов в день, во время которых произошло не менее двух сбоев. Учитываются дни, когда ваше приложение использовалось. Например, если два человека пользовались приложением в течение двух дней, число сеансов равно четырем.
  • Не затронуто сеансов. Процент сеансов в день, во время которых произошел один сбой или их не было вовсе. Учитываются дни, когда ваше приложение использовалось.
  • Количество сеансов. Приблизительное количество записанных сеансов.
  • Связанные сбои. Чтобы просмотреть сведения о сбоях в режиме реального времени, нажмите на ссылку Сбои. Вы перейдете на страницу Ошибки ANR и сбои в Play Console.

Устранение неполадок

Если в вашем приложении часто возникают сбои, найдите решение этой проблемы на сайте для разработчиков Android.

Медленная обработка

Интерпретация данных

На странице Медленная обработка указан процент сеансов в день, для которых время обработки у более 50% фреймов превысило 16 миллисекунд. Приложение должно работать со скоростью 60 кадров в секунду, без пропусков и зависаний.

Сведения о сборе данных

Google собирает информацию о фреймах, обработанных с помощью UI Toolkit, а не OpenGL.

Информация на панели управления

Данные в каждой строке представлены в процентилях.

  • Затронуто сеансов. Процент сеансов в день, для которых время обработки более 50% фреймов составило свыше 16 миллисекунд. Учитываются дни, когда ваше приложение использовалось. Например, если два человека пользовались приложением в течение двух дней, число сеансов равно четырем.
  • Количество сеансов. Приблизительное количество записанных сеансов.
  • 90-й или 99-й᠎ процентиль. Время обработки 90% или 99% всех фреймов в отчете было меньше указанного значения. Эти показатели рассчитываются на основе всей собранной информации о фреймах.
  • Нижний квартиль. Если частота возникновения равна указанному порогу или выше его, приложение попадает в последние 25% из 1000 самых популярных приложений в Google Play (по количеству установок). 

Нажав на запись в таблице, вы увидите диаграмму "Распределение времени обработки интерфейса". Для большинства фреймов время обработки должно составлять менее 16 миллисекунд.

Данные под диаграммой помогут вам выяснить причины проблем с загрузкой интерфейса. Например, высокое значение показателя "Большая задержка ввода" говорит о том, что следует внести изменения в тот раздел кода, который отвечает за события ввода. Подробную информацию о перечисленных ниже показателях вы найдете в этой статье.

  • Пропущенные события Vsync. Отношение количества пропущенных событий Vsync к количеству фреймов, обработка которых заняла более 16 миллисекунд.
  • Большая задержка ввода. Отношение количества событий ввода, которые заняли более 24 миллисекунд, к количеству фреймов, обработка которых заняла свыше 16 миллисекунд.
  • Медленный поток UI. Отношение количества потоков интерфейса, выполнение которых заняло более 8 миллисекунд, к количеству фреймов, отображение которых заняло свыше 16 миллисекунд.
  • Медленные команды на отрисовку. Отношение количества случаев, когда отправка команды на отрисовку в графический процессор заняла более 12 миллисекунд, к количеству фреймов, обработка которых заняла свыше 16 миллисекунд.
  • Медленная загрузка растровых изображений. Отношение количества случаев, когда растровое изображение загружалось в графический процессор дольше 3,2 миллисекунды, к количеству фреймов, обработка которых заняла более 16 миллисекунд.

Устранение неполадок

Если для многих фреймов время обработки превысило 16 миллисекунд, найдите решение этой проблемы на сайте для разработчиков Android.

Зависающие фреймы

На странице Зависающие фреймы указан процент сеансов в день, для которых время обработки у более 0,1% фрейма превысило 700 мс. Приложение должно работать со скоростью 60 кадров в секунду, без пропусков и зависаний.

Сведения о сборе данных

Google собирает информацию о фреймах, обработанных с помощью UI Toolkit, а не OpenGL.

Информация на панели управления

Данные в каждой строке представлены в процентилях.

  • Затронуто сеансов. Процент сеансов в день, для которых время обработки более 0,1% фреймов составило свыше 700 миллисекунд. Учитываются дни, когда ваше приложение использовалось. Например, если два человека пользовались приложением в течение двух дней, число сеансов равно четырем.
  • Количество сеансов. Приблизительное количество записанных сеансов.
  • 90-й или 99-й᠎ процентиль. Время обработки 90% или 99% всех фреймов в отчете было меньше указанного значения. Эти показатели рассчитываются на основе всей собранной информации о фреймах.
  • Нижний квартиль. Если частота возникновения равна указанному порогу или выше его, приложение попадает в последние 25% из 1000 самых популярных приложений в Google Play (по количеству установок). 

Нажав на запись в таблице, вы увидите диаграмму "Распределение времени обработки интерфейса". Для большинства фреймов время обработки должно составлять менее 700 миллисекунд.

Данные под диаграммой помогут вам выяснить причины проблем с загрузкой интерфейса. Например, высокое значение показателя "Большая задержка ввода" говорит о том, что следует внести изменения в тот раздел кода, который отвечает за события ввода. Подробную информацию о перечисленных ниже показателях вы найдете в этой статье.

  • Пропущенные события Vsync. Отношение количества пропущенных событий Vsync к количеству фреймов, обработка которых заняла более 16 миллисекунд.
  • Большая задержка ввода. Отношение количества событий ввода, которые заняли более 24 миллисекунд, к количеству фреймов, обработка которых заняла свыше 16 миллисекунд.
  • Медленный поток UI. Отношение количества потоков интерфейса, выполнение которых заняло более 8 миллисекунд, к количеству фреймов, отображение которых заняло свыше 16 миллисекунд.
  • Медленные команды на отрисовку. Отношение количества случаев, когда отправка команды на отрисовку в графический процессор заняла более 12 миллисекунд, к количеству фреймов, обработка которых заняла свыше 16 миллисекунд.
  • Медленная загрузка растровых изображений. Отношение количества случаев, когда растровое изображение загружалось в графический процессор дольше 3,2 миллисекунды, к количеству фреймов, обработка которых заняла более 16 миллисекунд.

Устранение неполадок

Если для многих фреймов время обработки превысило 700 миллисекунд, найдите решение этой проблемы на сайте для разработчиков Android.

Время запуска приложения

На странице Время запуска приложения можно просмотреть сведения о медленных холодных, теплых и горячих запусках.

Сведения о сборе данных

  • Время запуска записывается, только когда пользователь выполняет какое-то действие.
    • Пример: время запуска приложения-клавиатуры равняется времени запуска сопутствующего приложения.
  • Если приложение запускается несколько раз в течение дня, записывается максимальное время запуска за этот день для каждого состояния системы.
  • Время запуска фиксируется, когда полностью загружается первый фрейм приложения, даже если это не экран, с которым взаимодействует пользователь.
    • Пример: если при запуске приложения отображается заставка, время запуска равняется времени ее загрузки.

Сведения Android Vitals

  • Затронуто сеансов. Процент сеансов, в ходе которых наблюдался медленный запуск, учитывая каждое состояние системы:
    • медленный холодный запуск: 5 секунд или больше;
    • медленный теплый запуск: 2 секунды или больше;
    • медленный горячий запуск: 1 секунда или больше.
  • Количество сеансов. Приблизительное количество записанных сеансов.
  • 90-й или 99-й процентиль. В ходе 10% или 1% сеансов за день наблюдался медленный запуск приложения.
  • Нижний квартиль. Если частота возникновения равна указанному порогу или выше его, приложение попадает в последние 25% из 1000 самых популярных приложений в Google Play (по количеству установок).

Устранение неполадок

Если медленный запуск приложения наблюдается слишком часто, найдите решение этой проблемы на сайте для разработчиков Android.

Отклоненные разрешения

На странице Отклоненные разрешения указан процент сеансов с разрешениями за день, в течение которых пользователи отклоняли запросы разрешений. Сеанс с разрешением – это день, в течение которого ваше приложение запрашивало у пользователя хотя бы одно разрешение.

Сведения о сборе данных

Сведения об отклоненных разрешениях собираются, когда пользователи отвечают на запросы разрешений в вашем приложении.

Сведения Android Vitals

  • Отклонения. Процент сеансов с разрешениями за день, в течение которых пользователи отклоняли запросы разрешений.
  • Больше не запрашивать. Процент сеансов с разрешениями за день, в течение которых пользователи отклоняли запросы разрешений и выбирали Больше не запрашивать.
  • Общее число запросов. Приблизительное количество записанных сеансов.
  • Нижний квартиль. Если частота возникновения равна указанному порогу или выше его, приложение попадает в последние 25% из 1000 самых популярных приложений в Google Play (по количеству установок).

Устранение неполадок

Если отклоненных разрешений слишком много, найдите решение этой проблемы на сайте для разработчиков Android.

Параметры

Чтобы вам было удобнее работать с данными, они разделены по следующим параметрам:

  • Версия приложения.
  • Версия Android. Версия ОС, установленная на устройстве пользователя.
  • Устройство. Торговое название и модель устройства пользователя, например Google Nexus 7 (Flo).
  • Тег wake lock. Теги, которые автоматически задаются при использовании PowerManager API в приложении.
  • Тег wakeup. Теги, которые автоматически задаются при использовании AlarmManager API в приложении.
  • Название активности ANR. Полное название класса активности, во время которой возникла ошибка ANR (если доступно).
  • Тип ANR. Когда возникла ошибка ANR (например, во время запуска службы) (если доступно).

Статьи по теме

Узнайте, как показатели Android Vitals помогают повысить стабильность и производительность работы приложения.

Эта информация оказалась полезной?
Как можно улучшить эту статью?