ブートイメージ プロファイル

ブート イメージ プロファイルは、コンパイル時のコードの最適化をガイドすることで、システム パフォーマンスを向上させるように設計されています。基本的には、ブートプロセス中やコア システム コンポーネントによってコードのどの部分が最も頻繁に使用されるかをシステムに知らせるデータのセットです。この情報により、システムのランタイム環境は、この重要なコードを事前にコンパイルして最適化できます。これにより、起動時間の短縮、アプリの起動の円滑化、システム全体の応答性の向上につながります。

ブートイメージ プロファイルの詳細については、ブートイメージ プロファイルをご覧ください。

ブートイメージ プロファイル データ

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>