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

最適なユーザー エクスペリエンスを実現するには、アプリをできるだけ小さく、高速になるように最適化する必要があります。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')              ...         }     } }

また、プロジェクトの gradle.properties ファイルに次の行が存在する場合は削除して、R8 が最適化機能を最大限に活用していることを確認します。

android.enableR8.fullMode=false # Remove this line from your codebase. 

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

R8 が有効になっている場合は、起動パフォーマンスをさらに向上させるために、起動プロファイルを作成することもおすすめします。

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