Übersicht über das System-Tracing

Das Aufzeichnen der Geräteaktivität über einen kurzen Zeitraum wird als System-Tracing bezeichnet. Beim System-Tracing wird eine Trace-Datei erstellt, mit der Sie einen Systembericht generieren können. Anhand dieses Berichts können Sie ermitteln, wie Sie die Leistung Ihrer App oder Ihres Spiels am besten verbessern.

Eine umfassende Einführung in Tracing und Profiling finden Sie auf der Seite Tracing 101 in der Perfecto-Dokumentation.

Die Android-Plattform bietet mehrere Optionen zum Erfassen von Traces:

  • CPU- und Speicher-Profiler in Android Studio
  • Perfetto-Befehlszeilentool (Android 10 und höher)
  • System-Tracing-Dienstprogramm
  • Systrace-Befehlszeilentool

Der CPU-Profiler von Android Studio prüft die CPU-Nutzung und Thread-Aktivität Ihrer App in Echtzeit, während Sie mit Ihrer App interagieren. Sie können sich auch die Details der aufgezeichneten Methoden-, Funktions- und System-Traces ansehen. Der Arbeitsspeicher-Profiler bietet einen Überblick über die Arbeitsspeichernutzung im Zusammenhang mit Touch-Ereignissen, Activity-Änderungen und Garbage-Collection-Ereignissen.

Perfetto ist das plattformweite Tracing-Tool, das in Android 10 eingeführt wurde. Es ist ein ausgefeiltes Open-Source-Tracing-Projekt für Android, Linux und Chrome. Im Vergleich zu Systrace bietet es mehr Datenquellen und ermöglicht die Aufzeichnung beliebig langer Traces in einem binären Protokollpuffer-Stream. Sie können diese Traces in der Perfetto-UI öffnen.

Das System-Tracing-Dienstprogramm ist ein Android-Tool, mit dem Geräteaktivitäten in einer Tracedatei gespeichert werden. 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 beschrieben wird. Auf einem Gerät mit einer älteren Android-Version werden Trace-Dateien im Systrace-Format gespeichert.

Systrace ist ein altes, von der Plattform bereitgestelltes Befehlszeilentool, mit dem Geräteaktivitäten über einen kurzen Zeitraum in einer komprimierten Textdatei aufgezeichnet werden. Das Tool erstellt einen Bericht, der Daten aus dem Android-Kernel kombiniert, z. B. den CPU-Scheduler, die Festplattenaktivität und App-Threads. Systrace funktioniert auf allen Android-Plattformversionen. Wir empfehlen jedoch Perfetto für Geräte mit Android 10 und höher.

Screenshot der Perfetto-Trace-Ansicht

Abbildung 1. Beispiel für eine Perfetto-Trace-Ansicht, die etwa 20 Sekunden Interaktion mit einer App zeigt

Screenshot des Systrace-Berichts

Abbildung 2. Ein Beispiel für einen HTML-Systrace-Bericht, der fünf Sekunden Interaktion mit einer App zeigt

Beide Berichte geben einen Überblick über die Systemprozesse eines Android-Geräts für einen bestimmten Zeitraum. Im Bericht werden auch die erfassten Informationen zur Fehlerbehebung geprüft, um Probleme wie Ruckler in der Benutzeroberfläche oder einen hohen Energieverbrauch hervorzuheben.

Perfetto und Systrace sind interoperabel:

Leitfäden zur Systemaufzeichnung

Weitere Informationen zu System-Tracing-Tools finden Sie in den folgenden Leitfäden:

CPU-Aktivität mit dem CPU-Profiler prüfen
Hier erfahren Sie, wie Sie die CPU-Nutzung und die Threadaktivität Ihrer App in Android Studio erfassen.
System-Trace auf einem Gerät erfassen
Erläutert, wie Sie einen System-Trace direkt auf einem Gerät mit Android 9 (API-Ebene 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
Beschreibung zum Ausführen des perfetto-Befehlszeilentools zum Erfassen von Traces.
Schnellstart: Aufzeichnungen auf Android-Geräten erstellen
Externe Dokumentation, in der beschrieben wird, wie das perfetto-Befehlszeilentool zum Erfassen von Protokollen erstellt und ausgeführt wird.
Schnellstart: Aufzeichnungen auf Android-Geräten erstellen
Die webbasierte Perfetto-Trace-Ansicht öffnet Perfetto-Traces und zeigt einen vollständigen Bericht an. Sie können Systrace-Traces in diesem Viewer auch mit der Option der Legacy-UI öffnen.
Systrace-Berichte aufrufen
Die Elemente eines typischen Berichts werden aufgelistet, Tastenkombinationen für die Navigation im Bericht werden präsentiert und es wird beschrieben, wie Sie Leistungsprobleme erkennen.
Benutzerdefinierte Ereignisse definieren
Beschreibt, wie Sie benutzerdefinierte Labels auf bestimmte Codeabschnitte anwenden können, um die Ursachenanalyse in Systrace oder Perfetto zu vereinfachen.