Для обеспечения наилучшего пользовательского опыта следует оптимизировать приложение, сделав его максимально компактным и быстрым. Наш оптимизатор приложений, R8, упрощает работу приложения, удаляя неиспользуемый код и ресурсы, переписывая код для оптимизации производительности во время выполнения и многое другое. Для ваших пользователей это означает:
- Более быстрое время запуска
- Улучшена производительность рендеринга и выполнения программы.
- Меньше АНР
Чтобы включить оптимизацию приложения, установите isMinifyEnabled = true (для оптимизации кода) и isShrinkResources = true (для оптимизации ресурсов) в скрипте сборки приложения на уровне релизной сборки, как показано в следующем коде. Мы рекомендуем всегда включать оба параметра. Мы также рекомендуем включать оптимизацию приложения только в финальной версии вашего приложения, которую вы тестируете перед публикацией — обычно это релизная сборка, — поскольку оптимизация увеличивает время сборки вашего проекта и может затруднить отладку из-за способа изменения кода.
Котлин
android { buildTypes { release { // Enables code-related app optimization. isMinifyEnabled = true // Enables resource shrinking. isShrinkResources = true proguardFiles( // Default file with automatically generated optimization rules. getDefaultProguardFile("proguard-android-optimize.txt"), ... ) ... } } ... }
Классный
android { buildTypes { release { // Enables code-related app optimization. minifyEnabled true // Enables resource shrinking. shrinkResources true // Default file with automatically generated optimization rules. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt') ... } } }
Оптимизация сокращения ресурсов для еще более компактных приложений.
В версии 8.12.0 плагина Android Gradle Plugin (AGP) реализовано оптимизированное уменьшение объема ресурсов, цель которого — интеграция оптимизации ресурсов и кода для создания еще более компактных и быстрых приложений.
Включите оптимизированное сокращение ресурсов
Чтобы включить новый оптимизированный конвейер сжатия ресурсов для версий AGP до 9.0.0, добавьте следующее в файл gradle.properties вашего проекта:
android.r8.optimizedResourceShrinking=true
Если вы используете AGP 9.0.0 или более новую версию, вам не нужно устанавливать параметр android.r8.optimizedResourceShrinking=true . Оптимизированное сокращение ресурсов применяется автоматически, если в конфигурации сборки включен isShrinkResources = true .
Проверьте и настройте параметры оптимизации R8.
Чтобы R8 мог в полной мере использовать свои возможности оптимизации, удалите следующую строку из файла gradle.properties вашего проекта, если он существует:
android.enableR8.fullMode=false # Remove this line from your codebase.
Обратите внимание, что включение оптимизации приложения затрудняет понимание трассировки стека, особенно если R8 переименовывает имена классов или методов. Чтобы получить трассировку стека, которая корректно соответствует вашему исходному коду, см. раздел «Восстановление исходной трассировки стека» .
Если включена поддержка R8, следует также создать профили автозагрузки для еще большей производительности при запуске системы.
Если включение оптимизации приложения приводит к ошибкам, вот несколько способов их устранения:
- Добавьте правила сохранения , чтобы не изменять часть кода.
- Внедряйте оптимизации постепенно .
- Обновите свой код, используя библиотеки, лучше подходящие для оптимизации .
Если вас интересует оптимизация скорости сборки, см. раздел «Настройка работы R8» для получения информации о том, как настроить R8 в соответствии с вашей средой.