システム トレースを記録する
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
システム トレースでは、システム全体のアクティビティとリソース使用量が表示されるため、アプリのプロセスがどのようにスケジュールされ、実行されているかを確認できます。Android Studio Profiler のシステム トレース ビューは、一般的に次の調査に使用されます。
- アプリプロセスとシステム プロセスがデバイスのコアとスレッドにどのように分散されているか。
- UI のレンダリングの滑らかさ。
- デバイスとアプリの両方のレベルでの電力使用量。
このページでは、システム トレース ビューで最も一般的に使用されるビジュアルの概要について説明します。ここに記載されていない可視化について詳しくは、グラフの用語集をご覧ください。システム トレースの用途について詳しくは、このセクションの他のページをご覧ください。
システム トレースを記録すると、タイムライン上に次の可視化が表示されます。さまざまなシステム リソースがどのように関連しているかに注目する必要があります。たとえば、モデムのパワーレールでスパイクが発生した場合は、スレッド セクションに移動して、その時点でスパイクの原因となっている可能性のあるスレッド アクティビティを確認する必要があります。

- CPU 使用率: アプリの CPU 使用率を、利用可能な合計 CPU 容量に対する割合で時間ごとに示します。タイムラインの一部をハイライト表示して、その期間の詳細をフィルタします。
- インタラクション: タイムラインでのユーザー インタラクション イベントとアプリ ライフサイクル イベントが表示されます(デバッグ可能なアプリプロセスと API レベル 26 以降を搭載したデバイスが必要です)。
- ディスプレイ: アプリの UI がどれだけスムーズにレンダリングされるかに関する情報が表示されます。[ライフサイクル] を選択して、アプリがメインスレッドと
RenderThread
で各フレームをレンダリングする際にかかる時間を調べます。この情報は、UI ジャンクや低フレームレートの原因となるボトルネックを調査する際に役立ちます。
Threads: アプリとさまざまなシステム プロセスが実行するスレッドを表示します。システム トレースを使用して UI ジャンクを調査または減らす方法については、UI ジャンクを検出するをご覧ください。
ヒント: Threads タイムラインを調べるときは、次のショートカットを利用できます。
- ズームイン: Ctrl キー(macOS の場合は Command キー)を押しながら、W キーを押すかマウスホイールをスクロールします。
- ズームアウト: Ctrl キー(macOS の場合は Command キー)を押しながら、S キーを押すかマウスホイールを後方にスクロールします。
- 左にパン: A キーを押すか、Space キーを押しながらマウスを右にドラッグします。
- 右にパン: D キーを押すか、Space キーを押しながらマウスを左にドラッグします。
- スレッドを開くまたは閉じる: スレッドを選択して、スレッド名をダブルクリックするか Enter キーを押します。
CPU コア: デバイスの各コアのアクティビティを表示します。コア別のアクティビティを表示すると、どのコアが最新のモバイル プロセッサの「big」コアまたは「little」コアであるかを把握できます。スレッド アクティビティにポインタを合わせると、そのコアが動作しているスレッドを確認できます。

Process Memory (RSS): アプリが現在使用している物理メモリの量が表示されます。詳しくは、グラフの用語集をご覧ください。
Power Rails: 物理デバイスでプロファイリングを行うと表示されます。詳しくは、電力使用量を調べるをご覧ください。
バッテリー: アプリのバッテリー使用量が表示されます。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-07-27 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-07-27 UTC。"],[],[],null,["# Record a system trace\n\nA system trace shows you system-wide activities and resource usage, so you can\nsee how your app processes are scheduled and run. The system trace view in the\nAndroid Studio Profiler is commonly used to investigate the following:\n\n- How app and system processes are distributed across device cores and threads.\n- How smoothly the UI renders.\n- Power usage at both the device and app level.\n\nThis page provides an overview of the most commonly used visuals in the system\ntrace view. See the [chart glossary](/studio/profile/chart-glossary/flame-chart)\nfor more details about visualizations not described here. For more detailed\nexamples of what to use a system trace for, see the other pages in this section.\n\nAfter you [record a system trace](/studio/profile#start-profiling), you see the\nfollowing visualizations displayed over a timeline. You should focus on how\ndifferent system resources are correlated; for example, if you notice a spike in\nthe modem power rail, you should go to the threads section and see what thread\nactivity could be causing the spike at the time.\n\n- **CPU Usage**: Shows CPU usage of your app as a percentage of total available CPU capacity by time. Highlight a section of the timeline to filter to the details for that time period.\n- **Interactions** : Shows user interaction and app lifecycle events along a timeline (requires a [debuggable](/studio/profile#profileable-v-debuggable) app process and a device running API level 26 or higher).\n- **Display** : Shows info related to how smooth your app UI renders. Select **Lifecycle** to inspect how long it takes your app to render each frame on the main thread and `RenderThread`. This info is helpful for [investigating\n bottlenecks that cause UI jank and low\n framerates](/studio/profile/jank-detection).\n- **Threads** : Shows the threads that your app and various system processes run\n on. To learn about how to use system traces to investigate and help reduce UI\n jank, see [Detect UI jank](/studio/profile/jank-detection).\n\n **Tip:** When inspecting the **Threads** timeline, the following shortcuts are available:\n - **Zoom in:** Press \u003ckbd\u003eW\u003c/kbd\u003e or scroll the mouse wheel while holding \u003ckbd\u003eCtrl\u003c/kbd\u003e (\u003ckbd\u003eCommand\u003c/kbd\u003e on macOS).\n - **Zoom out:** Press \u003ckbd\u003eS\u003c/kbd\u003e or scroll the mouse wheel backward while holding \u003ckbd\u003eCtrl\u003c/kbd\u003e (\u003ckbd\u003eCommand\u003c/kbd\u003e on macOS).\n - **Pan left:** Press \u003ckbd\u003eA\u003c/kbd\u003e or drag mouse right while holding \u003ckbd\u003eSpace\u003c/kbd\u003e.\n - **Pan right:** Press \u003ckbd\u003eD\u003c/kbd\u003e or drag mouse left while holding \u003ckbd\u003eSpace\u003c/kbd\u003e.\n - **Expand or collapse a thread:** Double-click the thread name or press \u003ckbd\u003eEnter\u003c/kbd\u003e while a thread is selected.\n- **CPU cores** : Shows the activity on each core in your device. Viewing the\n activity by core might give you an idea of which ones are the [\"big\" or\n \"little\" cores](https://en.wikipedia.org/wiki/ARM_big.LITTLE) in\n modern mobile processors. Hold the pointer over a thread activity to\n see which thread this core is running on at that particular time.\n\n- **Process Memory (RSS)**: Shows the amount of physical memory currently in use\n by the app. For more details, see the chart glossary.\n\n- **Power Rails** : Appears when you profile on a physical device. For more info,\n see [Inspect power usage](/studio/profile/power-profiler).\n\n- **Battery**: Shows your app's battery usage."]]