Ativar a otimização do app

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')

            ...
        }
    }
}

Além disso, verifique se o R8 usa todos os recursos de otimização removendo esta 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: