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

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

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

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

Типы данных

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

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

Диапазон дат на странице 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, оценив разницу между медианными значениями.

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

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

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

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

Чтобы узнать, в каких файлах 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 раз в час. Сеанс без зарядки – это совокупность всех отчетов о работе батареи, полученных в течение 24 часов. В Android 10 отчет о работе батареи составляется для интервала между двумя зарядками от уровня ниже 20 % до 80 % и выше или от любого уровня до 100 %. В Android 11 и более поздних версий составляется отчет за фиксированный период, который длится 24 часа. 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, найдите решение этой проблемы на сайте для разработчиков Android.

Доля сбоев и доля повторных сбоев

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

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

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

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

Сведения о доле повторных сбоев

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

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

Если в вашем приложении часто возникают сбои, найдите решение этой проблемы на сайте для разработчиков 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. Отношение количества потоков 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. Отношение количества потоков 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 (SDK). Версия Android на устройстве пользователя.
  • Модель устройства. Торговое название и модель устройства пользователя, например Google Nexus 7 (Flo).
  • Запрет блокировки (название). Теги, которые автоматически задаются при использовании PowerManager API в приложении.
  • Пробуждение (название). Теги, которые автоматически задаются при использовании AlarmManager API в приложении.
  • Название действия при ошибке ANR. Полное название класса действия, во время которого возникла ошибка ANR (если доступно).
  • Тип ошибки ANR. Когда возникла ошибка ANR (например, во время запуска службы), если доступно.

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

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

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

Требуется помощь?

Войдите в свой аккаунт, чтобы мы могли предоставить вам дополнительные варианты поддержки и быстрее решить вашу проблему.