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

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

起動時間

起動タイミングをプロファイリングするには、bootanalyze ツールを使用します。特定の製品ごとに、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 パフォーマンス パターン: Why 60fps? を参照)で動作し、フレームのドロップまたは遅延が起こらないことを確かめます。

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

メモリ

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

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

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

中央処理装置

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

    Simpleperf は Android オープンソース プロジェクトの一部です。ソースコードは Simpleperf にあります。 詳細については、Simpleperf のドキュメントをご覧ください。

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