アプリのコード実行中に呼び出された Java/Kotlin メソッドを記録すると、特定の時点のコールスタックと CPU 使用率を Java/Kotlin メソッドでフィルタして確認できます。このデータは、実行に時間がかかるコードやシステム リソースを大量に消費するコードのセクションを特定するのに役立ちます。ネイティブ コールフレームを含むコールスタックの全体像を確認するには、コールスタック サンプルのプロファイリング タスクを使用します。
Android Studio プロファイラを使用して Java/Kotlin メソッドを記録する際に、記録タイプを選択できます。
トレース: アプリを実行時にインストルメント化して、各メソッド呼び出しの最初と最後にタイムスタンプを記録します。タイミング情報などのメソッド トレースデータを生成するために、タイムスタンプが収集、比較されます。呼び出されるメソッドを正確に把握したい場合は、トレースを使用する必要があります。トレースは負荷の高いプロセスであるため、このオプションを使用する場合は、録画を 5 秒以下にすることをおすすめします。
サンプリング(以前のバージョン): アプリの Java ベースまたは Kotlin ベースのコード実行中に、アプリのコールスタックを頻繁に取得します。プロファイラは取得したデータセットを比較し、アプリの Java ベースまたは Kotlin ベースのコード実行に関するタイミングとリソース使用量情報を導き出します。呼び出される正確なメソッドよりもタイミングを重視する場合は、サンプリングを使用する必要があります。
Java/Kotlin メソッドの概要
CPU ホットスポットの検索タスクを実行すると、Android Studio Profiler に次の情報が表示されます。
- CPU 使用率: アプリの CPU 使用率を、利用可能な合計 CPU 容量に対する割合で時間ごとに示します。CPU 使用量には、Java/Kotlin メソッドだけでなくネイティブ コードも含まれます。タイムラインのセクションをハイライト表示すると、その期間の詳細でフィルタできます。
- インタラクション: タイムラインでのユーザー インタラクション イベントとアプリ ライフサイクル イベントが表示されます。
- Threads: アプリが実行されているスレッドを表示します。ほとんどの場合、アプリを表す最上位のスレッドに最初に注目することをおすすめします。
最も時間がかかっているメソッドまたはコールスタックを特定するには、フレーム チャートまたはトップダウン チャートを使用します。