Базовые профили повышают скорость выполнения кода примерно на 30% с момента первого запуска, избегая этапов интерпретации и JIT-компиляции для включенных участков кода. Включение базового профиля в приложение или библиотеку позволяет среде выполнения Android (ART) оптимизировать включенные участки кода с помощью предварительной компиляции (AOT), обеспечивая повышение производительности при каждой новой установке и каждом обновлении приложения. Эта оптимизация на основе профилей (PGO) позволяет приложениям оптимизировать запуск, уменьшить задержки взаимодействия и улучшить общую производительность во время выполнения с первого запуска для конечных пользователей.
Составьте перечень требований к производительности.
Compose распространяется как библиотека, а не как часть платформы Android. Такой подход позволяет команде разработчиков Compose часто обновлять Compose и поддерживать широкий спектр версий Android. Однако распространение Compose в виде библиотеки влечет за собой определенные затраты.
Код платформы Android уже скомпилирован и установлен на устройстве. Однако библиотеки необходимо загружать при запуске приложения и интерпретировать JIT-компилятором при необходимости. Это может замедлить работу приложения при запуске и при первом использовании функций библиотек.
Преимущества базовых профилей
Вы можете повысить производительность, определив базовые профили . Эти профили определяют классы и методы, необходимые для критически важных пользовательских сценариев, и распространяются вместе с APK или AAB вашего приложения. Во время установки приложения ART компилирует этот критически важный код AOT, чтобы он был готов к использованию при запуске приложения.
Создание хорошего базового профиля не всегда является простой задачей, поэтому Compose поставляется с ним по умолчанию. Возможно, вам не придётся ничего делать, чтобы ощутить это преимущество. Однако базовый профиль, поставляемый с Compose, содержит оптимизации только для кода внутри библиотеки Compose.
Макробенчмарк
Для достижения наилучшей оптимизации создайте базовый профиль для вашего приложения, используя Macrobenchmark для охвата критически важных пользовательских сценариев. При определении собственного профиля необходимо протестировать его, чтобы убедиться в его эффективности. Хороший способ сделать это — написать тесты Macrobenchmark для вашего приложения и проверять результаты тестов по мере написания и корректировки базового профиля.
Пример написания тестов Macrobenchmark для вашего пользовательского интерфейса Compose можно найти в примере Macrobenchmark Compose .
Дополнительные ресурсы
- Руководство по повышению производительности приложений : узнайте о лучших практиках, библиотеках и инструментах для улучшения производительности на Android.
- Проверка производительности : Проверьте производительность приложения.
- Бенчмаркинг : Оценка производительности приложения.
- Запуск приложения : Оптимизация запуска приложения.
- Базовые профили : Понимание базовых профилей.