Para oferecer a melhor experiência do usuário, otimize o app para que ele seja o menor e mais rápido possível. Nosso otimizador de apps, chamado R8, simplifica seu app removendo códigos e recursos não utilizados, reescrevendo códigos para otimizar o desempenho do tempo de execução e muito mais. Para os usuários, isso significa:
- Tempo de inicialização mais rápido
- Menos instabilidade
- 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 do app do
build de lançamento, conforme mostrado no código abaixo. Recomendamos
que você sempre ative as duas configurações. Também recomendamos ativar a otimização
apenas na versão final do app que você testa antes da
publicação, geralmente o build de lançamento, 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') ... } } }
Ativar a otimização do app dificulta a compreensão dos stack traces, principalmente se o R8 renomear os nomes de classes ou métodos. Para acessar stack traces que correspondem corretamente ao código-fonte, consulte Recuperar o stack trace original.
Se o R8 estiver ativado, você também precisará criar perfis de inicialização para melhorar ainda mais o desempenho da inicialização.
Se você ativar a otimização de apps e ela causar erros, siga estas estratégias para corrigi-los:
- Adicione regras keep para manter o código intacto.
- Adotar otimizações incrementais.
- Atualize seu código para usar bibliotecas mais adequadas para otimização.