アプリの最適化を有効にする

最適なユーザー エクスペリエンスを実現するには、アプリを最適化して、できるだけ小さく、高速にする必要があります。Google のアプリ オプティマイザーである R8 は、未使用のコードとリソースを削除したり、コードを書き換えてランタイム パフォーマンスを最適化したりすることで、アプリを効率化します。ユーザーにとってのメリットは次のとおりです。

  • 起動時間を短縮
  • ジャンクを減らす
  • ANR の減少

アプリの最適化を有効にするには、次のコードに示すように、リリースビルドのアプリレベルのビルド スクリプトで isMinifyEnabled = true(コードの最適化用)と isShrinkResources = true(リソースの最適化用)を設定します。常に両方の設定を有効にすることをおすすめします。また、アプリの最適化は、公開前にテストするアプリの最終バージョン(通常はリリースビルド)でのみ有効にすることをおすすめします。最適化を行うとプロジェクトのビルド時間が長くなり、コードが変更されるためデバッグが難しくなる可能性があります。

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

            ...
        }
    }
}

アプリの最適化を有効にすると、特に R8 でクラス名やメソッド名が変更されている場合は、スタック トレースを理解するのが難しくなります。ソースコードに正しく対応するスタック トレースを取得するには、元のスタック トレースを復元するをご覧ください。

R8 が有効になっている場合は、起動プロファイルを作成して、起動時のパフォーマンスをさらに向上させる必要があります。

アプリの最適化を有効にしてエラーが発生した場合は、次の方法でエラーを修正できます。