Производительность Jetpack Compose

Jetpack Compose обеспечивает отличную производительность сразу после установки. Настройте приложение, следуя рекомендациям, чтобы избежать распространенных ошибок и оптимизировать производительность приложения Compose.

Тестирование производительности Jetpack Compose

Чтобы сравнить производительность Jetpack Compose и Views, мы используем основные тесты производительности, которые фокусируются на важных путях пользователей, таких как холодный запуск приложения или прокрутка списка или сетки с изображениями. Для этого мы используем приложение Pokedex с открытым исходным кодом, сравнивая его реализации Views и Compose.

Эти тесты показывают, что Compose 1.9 и более поздние версии соответствуют производительности Views по задержкам при прокрутке.

Начиная с Compose 1.9.0, в Compose и Views одинаковая частота задержек.
Начиная с версии Compose 1.9.0, в Compose и Views одинаковая частота задержек.

Дополнительные показатели и информацию о наших методологиях можно найти в статье Контрольные показатели Hero.

Основные понятия

Вот некоторые из ключевых концепций производительности в Compose:

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

Правильно настройте приложение

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

  • Выполните сборку в режиме выпуска с помощью R8. Попробуйте запустить приложение в режиме выпуска. Режим отладки позволяет выявить многие проблемы, но снижает производительность и может затруднить обнаружение других неполадок. Также рекомендуем включить оптимизацию и сжатие с помощью компилятора R8, чтобы обеспечить высокую производительность и эффективность конечной сборки.
  • Используйте профили базовой конфигурации. Они повышают производительность за счет предварительной компиляции кода для алгоритмов достижения цели. Compose включает профиль по умолчанию, но в идеале вам также следует создать профиль для конкретного приложения. Подробнее о профилях базовой конфигурации…

Инструменты

Ознакомьтесь с набором инструментов, которые помогут вам измерить и проанализировать производительность приложения Compose.

Рекомендации

При разработке приложения с помощью Compose помните о следующих рекомендациях:

Дополнительную информацию можно найти в руководстве по рекомендациям.

Просмотры

Если вы работаете с представлениями, а не с Compose, ознакомьтесь с руководством Как повысить производительность макета.

Дополнительные ресурсы