Комплексные улучшения
Плагин Android Gradle (AGP) используется для создания приложений Android. Многие инструменты повышения производительности зависят от новых версий AGP. Чтобы получить доступ к последним улучшениям, приложения должны использовать последнюю версию AGP.
  • Сделать оценку
  • AGP 7.2 и ниже (0 баллов)
  • АГП 7,3 (1 балл)
  • АГП 7,4 – 8,1 (5 баллов)
  • АГП 8,2 – 8,5 (15 очков)
  • АГП 8.6+ (20 баллов)
Оценка Рекомендация
Комплексные улучшения
Компилятор R8 обеспечивает повышение производительности во многих областях. Размер приложения, время запуска, рендеринг во время выполнения, использование памяти, сбои, ANR и многое другое улучшаются за счет применения методов минимизации и оптимизации. Чтобы максимально эффективно использовать эти улучшения, приложения должны использовать R8 в полном режиме для минимизации и оптимизации своего кода.
  • Сделать оценку
  • Не включено (0 баллов)
  • Режим совместимости или основные исключения (-dontoptimize, -dontshrink) (5 баллов)
  • Полный режим R8, минимизированный, оптимизированный и сокращающий ресурсы (20 баллов)
Оценка Рекомендация
Производительность запуска

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

  • Сделать оценку
  • Нет/Неизвестно (0 баллов)
  • Вручную, один раз или нечасто (2 балла)
  • Вручную для каждого релиза (5 баллов)
  • Автоматизировано для каждого релиза (15 баллов)
  • Автоматизировано для ночных сборок и выпусков (20 баллов)
Оценка Рекомендация
Производительность запуска

Базовые профили устраняют необходимость запуска JIT-компиляции во время использования функции. Это улучшает производительность рендеринга во время выполнения. Добавление базовых профилей для критически важных действий пользователя может повысить общую производительность приложения.

Сколько действий пользователя охватывается базовыми профилями?
  • Сделать оценку
  • Нет/Неизвестно (0 баллов)
  • Запуск приложения +1 путь пользователя (5 баллов)
  • Запуск приложения +2 пути пользователя (10 баллов)
  • Запуск приложения +3 пути пользователя (15 баллов)
Оценка Рекомендация
Производительность запуска

Профили запуска используются системой сборки для дальнейшей оптимизации содержащихся в них классов и методов за счет улучшения компоновки кода в DEX-файлах вашего APK. При использовании профилей запуска ваше приложение обычно запускается на 15–30 % быстрее, чем при использовании только базовых профилей.

Использует ли приложение профили запуска для оптимизации макета dex?
  • Сделать оценку
  • Неиспользовано/Неизвестно (0 баллов)
  • Основная точка входа (10 баллов)
  • Наибольшее количество точек входа (15 баллов)
Оценка Рекомендация
Написать усыновление
Более поздние версии Jetpack Compose предлагают улучшенную производительность по сравнению с предыдущими версиями. Чтобы получить доступ к этим улучшениям, приложения должны использовать последнюю версию Compose. Использует ли приложение последнюю стабильную версию Jetpack Compose?
  • Сделать оценку
  • Не использовать Compose (5 баллов)
  • Составить 2022.10.00 - 2023.10.01 (1 балл)
  • Составить 2024.01.00 - 2024.08.00 (2 балла)
  • Последняя стабильная версия Compose (5 баллов)
Оценка Рекомендация
Мониторинг и оптимизация
Вызов reportFullyDrawn() с помощью FullyDrawnReporter или ReportDrawn() позволяет системе узнать, когда приложение готово к взаимодействию пользователя. Это обеспечивает доступ к метрике TTFD. Эту метрику можно использовать для сравнительного анализа, и она позволяет улучшить создание профиля запуска.
  • Сделать оценку
  • Не использовать reportFullyDrawn()/FullDrawnReporter (0 баллов)
  • Использование reportFullyDrawn()/FullDrawnReporter (5 баллов)
Оценка Рекомендация
Статическая оценка производительности приложения

(0/7 questions answered) - For a full picture answer all questions.