Para oferecer a melhor experiência do usuário, otimize seu app para que ele seja o menor e mais rápido possível. Nosso otimizador de apps, chamado R8, simplifica seu app ao remover código e recursos não utilizados, reescrever o código para otimizar o desempenho de execução e muito mais. Para seus usuários, isso significa:
- Tempo de inicialização mais rápido
- Melhorias na renderização e no desempenho de execução
- Menos ANRs
Para ativar a otimização do app, defina isMinifyEnabled = true
(para otimização de código) e isShrinkResources = true
(para otimização de recursos) no script de build de lançamento no nível do app, conforme mostrado no código a seguir. Recomendamos que você sempre ative as duas configurações. Também recomendamos ativar a otimização do app apenas na versão final que você testa antes de publicar, geralmente a build de lançamento. Isso porque as otimizações aumentam o tempo de build do projeto e podem dificultar a depuração devido à forma como modificam o código.
Kotlin
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"), ... ) ... } } ... }
Groovy
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') ... } } }
Otimizar a redução de recursos para apps ainda menores
A versão 8.12.0 do Plug-in do Android para Gradle (AGP) apresenta uma redução otimizada de recursos, que visa integrar a otimização de recursos e código para criar apps ainda menores e mais rápidos.
Ativar a redução otimizada de recursos
Para ativar o novo pipeline otimizado de redução de recursos em uma versão do AGP
anterior a 9.0.0, adicione o seguinte ao arquivo gradle.properties
do projeto:
android.r8.optimizedResourceShrinking=true
Se você estiver usando o AGP 9.0.0 ou uma versão mais recente, não será necessário definir
android.r8.optimizedResourceShrinking=true
. A redução otimizada de recursos é
aplicada automaticamente quando isShrinkResources = true
está ativado na configuração de
build.
Verificar e configurar as opções de otimização do R8
Para permitir que o R8 use todos os recursos de otimização, remova a seguinte
linha do arquivo gradle.properties
do projeto, se ela existir:
android.enableR8.fullMode=false # Remove this line from your codebase.
Ativar a otimização do app dificulta a compreensão dos stack traces, principalmente se o R8 renomear classes ou métodos. Para receber stack traces que correspondam corretamente ao seu código-fonte, consulte Recuperar o stack trace original.
Se o R8 estiver ativado, crie perfis de inicialização para melhorar ainda mais o desempenho de inicialização.
Se você ativar a otimização de apps e isso causar erros, confira algumas estratégias para corrigi-los:
- Adicione regras de preservação para manter alguns códigos intactos.
- Adote otimizações de forma incremental.
- Atualize seu código para usar bibliotecas mais adequadas para otimização.