Android デバイスでリソース使用量を最小限に抑え、パフォーマンスを最適化するには、このセクションの手順を実施します。また、Android を最大限に活用する作業の一環として、パフォーマンスの評価で説明した多くのテストとツールを利用します。
APK キャッシュ
このドキュメントでは、A/B パーティションをサポートするデバイスにプリロードされたアプリを迅速にインストールする、APK キャッシュ ソリューションの設計について説明します。OEM はユーザー向けのデータスペースに影響を与えることなく、新しい A/B パーティション デバイスのほぼ空の B パーティションに保存された APK キャッシュに、プリロード アプリと一般的なアプリを配置できます。
起動時間
Android 8.0 では、一連のコンポーネントでさまざまな改良点をサポートし、起動時間の短縮を可能にしています。このドキュメントでは、特定の Android デバイスの起動時間を改善するためのパートナー向けガイダンスを提供します。
健全性
Android 9 には、health@1.0 HAL からのメジャー バージョン アップグレードである android.hardware.health
HAL 2.0 が含まれています。この新しい HAL は、フレームワークとベンダーコードをより明確に分離し、ヘルス情報レポートをベンダーがカスタマイズする自由度を高め、電池だけでなくデバイスのヘルス情報を提供します。
lowmemorykiller
ユーザー空間の lmkd
プロセスは同じ機能を実装していますが、メモリ プレッシャーを検出して推定するために既存のカーネル メカニズムを使用します。カーネルによって生成された vmpressure イベントを使用して、メモリ プレッシャー レベルに関する通知を取得します。
プロファイルに基づく最適化
Android ビルドシステムは、ブループリント ビルドルールを持つネイティブ Android モジュールで、Clang のプロファイルに基づく最適化(PGO)を使用できます。
タスク スナップショット
タスク スナップショットは Android O で導入されたインフラストラクチャで、Recents Thumbnails のスクリーンショットとウィンドウ マネージャーの Saved Surfaces を組み合わせます。Recents Thumbnails は、[最近] ビュー内のタスクの最後の状態を表します。
ログ先行書き込み
Android 9 では、SQLiteDatabase の特別なモードである互換性 WAL(ログ先行書き込み)が導入されています。これにより、データベースあたり最大 1 つの接続を維持しながら、データベースで journal_mode=WAL
を使用できます。