2025 年 3 月 27 日より、AOSP のビルドとコントリビューションには aosp-main
ではなく android-latest-release
を使用することをおすすめします。詳細については、AOSP の変更をご覧ください。
Android のパフォーマンス最適化
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
このセクションの内容に従うことで、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 は、[最近] ビュー内のタスクの最後の状態を表します。
write-ahead log 書き込み
Android 9 では、SQLiteDatabase の特別なモードである互換性 WAL(write-ahead log 書き込み)が導入されています。これにより、データベースあたり最大 1 つの接続を維持しながら、データベースで journal_mode=WAL
を使用できます。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-03-26 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-03-26 UTC。"],[],[],null,["# Android performance optimization\n\nFollow the instructions in this section to ensure your Android devices\nminimize resource use and optimize performance. And take advantage of the many\ntests and tools described in\n[Evaluating Performance](/docs/core/tests/debug/eval_perf) as part of\nyour work getting the most out of Android.\n\nAPK caching\n-----------\n\nThis document describes design of an APK caching solution for rapid installation\nof preloaded apps on a device that supports A/B partitions. OEMs can place\npreloads and popular apps in the APK cache stored in the mostly empty B\npartition on new A/B-partitioned devices without impacting any user-facing data\nspace.\n\nBoot times\n----------\n\nAndroid 8.0 allows for reduced boot times by supporting several improvements\nacross a range of components. This document provides partner guidance for\nimproving boot times for specific Android devices.\n\nHealth\n------\n\nAndroid 9 includes `android.hardware.health` HAL 2.0, a major version upgrade\nfrom health@1.0 HAL. This new HAL offers cleaner separation between framework\nand vendor code, greater degrees of freedom for vendor customization in health\ninformation reports, and more device health information than just battery.\n\nlowmemorykiller\n---------------\n\nThe userspace `lmkd` process implements the same functionality but with already\nexisting kernel mechanisms to detect and estimate memory pressure. It uses\nvmpressure events generated by the kernel to get notifications about memory\npressure levels.\n\nProfile-guided optimization\n---------------------------\n\nThe Android build system supports using Clang's profile-guided optimization\n(PGO) on native Android modules that have blueprint build rules.\n\nTask Snapshots\n--------------\n\nTask Snapshots is infrastructure introduced in Android O that combines\nscreenshots for Recents Thumbnails as well as Saved Surfaces from Window\nManager. Recents Thumbnails represent the last state of a task in the Recents\nview.\n\nWrite-ahead logging\n-------------------\n\nAndroid 9 introduces a special mode of SQLiteDatabase called Compatibility WAL\n(write-ahead logging) that allows a database to use `journal_mode=WAL` while\npreserving the behavior of keeping a maximum of one connection per database."]]