※本ページにはプロモーション(広告)が含まれています
Androidの開発者向け診断機能。実行中のシステム活動(CPU使用率、フレーム描画、メモリ、スレッド等)を秒単位で記録し、フリーズ・カクつき・電池消耗の原因を分析できる。Perfettoツールで可視化する。
詳しい解説
システムトレース(System Trace)は、Androidに搭載されている開発者向けの診断・性能分析機能です。実行中のシステムの様々な活動(CPU使用率、フレーム描画、メモリアロケーション、スレッド切替、アプリ起動時間など)を高精度に記録し、Perfettoツールで可視化することでアプリのフリーズ・カクつき・電池消耗の原因を特定できます。
## 主な記録項目
| 項目 | 内容 |
|——|——|
| CPU使用率 | 各コアの稼働状況 |
| GPU処理 | グラフィック処理時間 |
| メモリ | 確保・解放のパターン |
| スレッド | アプリのスレッド切替 |
| フレーム | UIの描画タイミング・ジャンク |
| バインダー | プロセス間通信 |
| 電源管理 | wakelock・スリープ |
| ネットワーク | パケット送受信 |
## 有効化手順
### Step 1: 開発者オプション有効化
1. 設定→「デバイス情報」または「端末情報」
2. 「ビルド番号」を7回タップ
3. 「開発者になりました」と表示される
### Step 2: システムトレース有効化
1. 設定→「システム」→「開発者オプション」
2. 「システムトレース」セクション
3. 「クイック設定タイル」をオン
### Step 3: クイックパネルから録画
1. 上から下にスワイプ→クイックパネル
2. 「システムトレース」タイルをタップ
3. 録画開始(通知に「Recording trace」表示)
4. 問題が発生する操作を実行
5. 再度タイルをタップで停止
6. 通知から「Share」または「View」
## Perfetto で可視化
録画されたトレースファイルは `.perfetto-trace` 形式で保存される。
### 表示方法
1. **オンライン**: https://ui.perfetto.dev/ にファイルをドロップ
2. **ローカル**: Perfetto UI for Android Studio
3. **adb**: `adb pull` でPCに転送→デスクトップで開く
### 分析ポイント
– **CPU使用率グラフ**: ボトルネック特定
– **フレーム時間**: 16ms(60fps)超過がカクつき原因
– **スレッドタイムライン**: メインスレッドのブロック検出
– **メモリリーク**: 確保パターン異常
– **アプリ起動時間**: 各フェーズの所要時間
## 用途
### アプリ開発
– スタートアップ最適化(cold/warm start)
– フレームジャンク(カクつき)解消
– メモリ消費削減
– バッテリー消費分析
### システム分析
– OS全体のパフォーマンス調査
– 異常な電池減りの原因究明
– 発熱原因の特定
– バックグラウンドアプリの動作確認
### バグ報告
– 再現困難な不具合の証拠
– Google・メーカーへのエスカレーション
– コミュニティへの情報共有
## サードパーティ代替
– **Systrace(旧)**: Perfettoの前身、廃止
– **adb shell perfetto**: コマンドラインから録画
– **Android Studio Profiler**: より開発者向けGUI
– **Firebase Performance Monitoring**: 製品段階の継続監視
– **AOP/APM ツール**: New Relic、Datadog等
## カスタムトレース
コードに `Trace.beginSection()` / `Trace.endSection()` を追加すれば、特定の処理区間をトレースに含められる:
“`
Trace.beginSection("重い処理");
// 処理
Trace.endSection();
“`
アプリ開発時のパフォーマンス改善に必須のテクニック。
## トラブル対処例
### アプリの起動が遅い
1. システムトレース録画開始
2. アプリ起動
3. 録画停止→Perfettoで開く
4. 「ContentProvider」が時間消費を確認
5. 開発者に「初期化処理を遅延化」の改善依頼
### スクロールがカクつく
1. 録画開始→該当画面でスクロール
2. 録画停止
3. フレームグラフを見て16ms超のフレームを特定
4. 「メインスレッドでビットマップ読込」等の問題発見
5. バックグラウンドに移行で改善
### バッテリー異常消費
1. 朝録画開始→1時間使用後停止
2. 「wakelock」が異常に取得されているアプリ特定
3. そのアプリを無効化または更新
## プライバシー
録画ファイルには:
– 実行中のアプリリスト
– システム情報(モデル名、OSバージョン)
– パケットメタデータ(送受信先IPはあり、内容はなし)
– 通知メタデータ
含まれる可能性あり。他人に共有する場合は内容確認推奨。
Pixelスマホで使っているアプリが時々フリーズするとき、開発者オプションを有効化してシステムトレースをクイック設定タイルに追加。問題が起きそうなタイミングで録画→Perfettoで分析すれば、「アプリAがバックグラウンドで重いCPU処理を継続している」のような具体的な原因が見える。アプリ開発者に詳細な情報付きで報告できる。
別の呼び方
システムトレース
システムトレース機能
Trace
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!