ブート イメージ プロファイルは、コンパイル時のコードの最適化をガイドすることで、システム パフォーマンスを向上させるように設計されています。基本的には、ブートプロセス中やコア システム コンポーネントによってコードのどの部分が最も頻繁に使用されるかをシステムに知らせるデータのセットです。この情報により、システムのランタイム環境は、この重要なコードを事前にコンパイルして最適化できます。これにより、起動時間の短縮、アプリの起動の円滑化、システム全体の応答性の向上につながります。
ブートイメージ プロファイルの詳細については、ブートイメージ プロファイルをご覧ください。
ブートイメージ プロファイル データ
AAOS ブートイメージ プロファイルには次のものが含まれます。
- ブート クラスパスのプロファイル(
vendor/auto/embedded/products/boot-image-profile.txt
)。最適化するブート クラスパスのメソッドを指定します。
プロファイル コンテンツの例
Landroid/accounts/AccountManager;
Landroid/app/ActivityManager;
Landroid/app/ActivityTaskManager;
Landroid/app/ActivityThread;
Landroid/app/AlarmManager;
Landroid/app/AlertDialog;
Landroid/car/Car;
Landroid/car/input/CarInputManager;
Landroid/car/media/CarAudioManager;
ブートイメージ プロファイルを生成する
効果的にプロファイリングしてリアルなブートイメージ プロファイルを生成するには、カスタマイズした CUJ を使用して、ブートイメージ プロファイルを生成するを参照してください。
サンプル AAOS CUJ(Google マップと Google Play を起動する)専用のブートイメージ プロファイルをすばやく生成するには、art/tools/boot-image-profile-aaos-sample-generate.py
スクリプトを使用します。このスクリプトには、前述のリンクで説明した手順が組み込まれています。
始める
次のコマンドを実行して、Android をビルドし、Cuttlefish を起動して、スクリプトを実行して AAOS ブートイメージ プロファイルのサンプルを生成します。
Android のビルド
ターゲットを選択して、次を実行します(例: aosp_cf_x86_64_auto-ap4a-userdebug
)。
source build/envsetup.sh
lunch <target>
m
Cuttlefish を起動する
スタートガイドに沿って、Cuttlefish ターゲットを起動します。
スクリプトを実行する
python3 art/tools/boot-image-profile-aaos-sample-generate.py
省略可: ADB デバイスを指定する
export ANDROID_SERIAL=<your_device_serial>