システム パフォーマンス ツール

このページでは、パフォーマンス指標の測定に使用できるツールについて説明します。

起動時間

起動タイミングをプロファイリングするには、Simpleperf のドキュメントを使用します。config.yaml ファイルに検索するイベントを含めます。config.yaml は次のようになります。

  stop_event: <logcat log message which will terminate log collection after reboot>
  events:
    event1_name: <pattern that matches log message>
    event2_
    ...

一部のデバイスでは、時計を起動してから最初の数秒間、間違った時刻が表示されることがあります。bootanalyze ツールにはすぐに使用できる時刻調整機能が用意されていますが、config.yaml で任意の時刻調整パターンを指定することもできます。起動時間の最適化では、ブートローダー、デバイス カーネル、I/O 調整、ブート アニメーション、SELinux ポリシーなどのコンポーネントを使用して、起動時間を改善する方法について説明します。

アプリの起動時間

ユーザーは、アプリに対して読み込みの速さと応答性の高さを期待しています。 アプリの起動時間では、起動プロセスの内部構造の詳細と、起動パフォーマンスをプロファイリングして最適化する方法について説明します。

ユーザー インターフェース

ユーザー インターフェース(UI)のパフォーマンス テストでは、アプリが機能要件を満たし、ユーザーがアプリをスムーズに操作できることを確認します。具体的には、安定して毎秒 60 フレーム(Android Performance Patterns: Why 60fps? を参照)で動作し、フレームのドロップまたは遅延が起こらないことを確かめます。

詳細については、UI パフォーマンスのテストJankTest をご覧ください。

メモリ

アプリのメモリ使用量は、次の 2 つの方法のいずれかで検査できます。

  • 一定期間(procstats を使用)。
  • 特定の時点のスナップショット(meminfo を使用)。

詳しくは以下のページをご覧ください。

中央処理装置

CPU のクエリに以下のツールを使用できます。

  • Android アプリと Android で実行されているネイティブ プロセスをプロファイリングするには、Simpleperf のドキュメントを使用します。
  • これは Android 用のネイティブ中央処理装置(CPU)プロファイリング ツールです。Simpleperf は Android で Java コードと C++ コードをプロファイリングできます。Simpleperf 実行可能ファイルは L より後の Android リリースで実行でき、Python スクリプトは N より後の Android リリースで使用できます。

    Simpleperf のドキュメントはこちらです。詳細については、Simpleperf のドキュメントをご覧ください。
  • アプリの操作中にアプリの CPU 使用率とスレッド アクティビティをリアルタイムで検査するには、CPU Profiler を使用します。これにより、より高速でスムーズなユーザー エクスペリエンスを実現したり、デバイスのバッテリー寿命を延ばしたりなど、多くのメリットを得られます。また、記録されたメソッド、関数、システム トレースの詳細を調べることもできます。