Das Aufzeichnen von Geräteaktivitäten über einen kurzen Zeitraum wird als System Tracing bezeichnet. Beim System-Tracing wird eine Trace-Datei erstellt, mit der Sie einen Systembericht erstellen können. Mit diesem Bericht können Sie ermitteln, wie Sie die Leistung Ihrer App oder Ihres Spiels am besten verbessern können.
Eine umfassende Einführung in Tracing und Profilerstellung finden Sie auf der Seite Tracing 101 in der Perfetto-Dokumentation.
Die Android-Plattform bietet verschiedene Optionen zum Erfassen von Traces:
- CPU- und Speicher-Profiler in Android Studio
- Perfetto-Befehlszeilentool (Android 10 und höher)
- Dienstprogramm für das Tracing des Systems
- Befehlszeilentool Systrace
Der CPU-Profiler von Android Studio prüft die CPU-Nutzung und die Thread-Aktivität Ihrer App in Echtzeit, während Sie mit Ihrer App interagieren. Sie können sich auch die Details in aufgezeichneten Methoden-Traces, Funktions-Traces und System-Traces ansehen. Der Speicher-Profiler bietet einen Überblick über die Arbeitsspeichernutzung in Bezug auf Touch-Ereignisse, Activity
-Änderungen und automatische Speicherbereinigungsereignisse.
Perfetto ist das plattformweite Tracing-Tool, das in Android 10 eingeführt wurde. Es ist ein komplexes Open-Source-Tracing-Projekt für Android, Linux und Chrome. Es bietet im Vergleich zu Systrace eine Obermenge von Datenquellen und ermöglicht die Aufzeichnung beliebig langer Traces in einem Binärstream des Protokollpuffers. Sie können diese Traces in der Perfetto-UI öffnen.
Das System-Tracing-Dienstprogramm ist ein Android-Tool, das Geräteaktivitäten in einer Trace-Datei speichert. Auf Geräten mit Android 10 (API-Level 29) oder höher werden Trace-Dateien im Perfetto-Format gespeichert, wie weiter unten in diesem Dokument gezeigt wird. Auf Geräten mit einer früheren Android-Version werden Trace-Dateien im Systrace-Format gespeichert.
Systrace ist ein Befehlszeilentool, das über eine Legacy-Plattform bereitgestellt wird und die Geräteaktivitäten über einen kurzen Zeitraum in einer komprimierten Textdatei aufzeichnet. Das Tool erstellt einen Bericht, in dem Daten aus dem Android-Kernel kombiniert werden, z. B. CPU-Planer, Laufwerksaktivitäten und Anwendungs-Threads. Systrace funktioniert auf allen Android-Plattformversionen, aber wir empfehlen Perfetto für Geräte mit Android 10 und höher.
Beide Berichte bieten ein Gesamtbild der Systemprozesse eines Android-Geräts in einem bestimmten Zeitraum. Der Bericht untersucht auch die erfassten Tracing-Informationen, um beobachtete Probleme wie UI-Verzögerungen oder einen hohen Stromverbrauch aufzuzeigen.
Perfetto und Systrace sind interoperabel:
- Öffnen Sie sowohl Perfetto-Dateien als auch Systrace-Dateien in der Perfetto-UI. Öffnen Sie Systrace-Dateien mit dem Legacy-Systrace-Viewer in der Perfetto-UI. Klicken Sie dazu auf den Link Mit Legacy-UI öffnen.
- Konvertieren Sie ein Perfetto-Trace in das Legacy-Systrace-Textformat mit dem
traceconv
-Tool.
Leitfäden für das System-Tracing
Weitere Informationen zu den Tools für die Systemverfolgung finden Sie in den folgenden Leitfäden:
- CPU-Aktivität mit CPU Profiler prüfen
- Hier erfahren Sie, wie Sie ein Profil für die CPU-Nutzung und die Thread-Aktivität Ihrer App in Android Studio erstellen.
- System-Trace auf einem Gerät erfassen
- Hier erfahren Sie, wie Sie einen System-Trace direkt auf jedem Gerät mit Android 9 (API-Level 28) oder höher erfassen.
- System-Trace in der Befehlszeile erfassen
- Definiert die verschiedenen Optionen und Flags, die Sie an die Befehlszeile für Systrace übergeben können.
- Perfetto mit ADB ausführen
- Hier wird beschrieben, wie Sie das
perfetto
-Befehlszeilentool ausführen, um Traces zu erfassen. - Kurzanleitung: Traces unter Android aufzeichnen
- Externe Dokumentation, in der beschrieben wird, wie Sie das
perfetto
-Befehlszeilentool zum Erfassen von Traces erstellen und ausführen. - Kurzanleitung: Traces unter Android aufzeichnen
- Im webbasierten Perfetto-Trace-Viewer werden Perfetto-Traces geöffnet und ein vollständiger Bericht angezeigt. Sie können Systrace-Traces auch mit der Legacy-UI-Option in diesem Viewer öffnen.
- In einem Systrace-Bericht navigieren
- Hier werden die Elemente eines typischen Berichts aufgelistet, Tastenkombinationen für die Navigation im Bericht aufgeführt und es wird beschrieben, wie sich Arten von Leistungsproblemen identifizieren lassen.
- Benutzerdefinierte Ereignisse definieren
- Hier wird beschrieben, wie Sie benutzerdefinierte Labels auf bestimmte Abschnitte des Codes anwenden und so die Ursachenanalyse in Systrace oder Perfetto vereinfachen können.