Übersicht über das System-Tracing

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

Eine umfassende Einführung in die Trace-Erstellung 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 Memory-Profiler in Android Studio
  • Perfetto-Befehlszeilentool (Android 10 und höher)
  • Tool zur Ablaufverfolgung
  • Systrace-Befehlszeilentool

Der Android Studio-CPU-Profiler analysiert die CPU-Nutzung und Threadaktivität Ihrer App in Echtzeit, während Sie mit der App interagieren. Sie können sich auch die Details in aufgezeichneten Methoden-, Funktions- und System-Traces ansehen. Der Memory Profiler bietet einen Überblick über die Speichernutzung in Bezug auf Touch-Ereignisse, Activity-Änderungen und Garbage Collection-Ereignisse.

Perfetto ist das plattformweite Tracing-Tool, das in Android 10 eingeführt wurde. Es ist ein anspruchsvolles Open-Source-Projekt für Tracing unter Android, Linux und Chrome. Es bietet eine Obermenge von Datenquellen im Vergleich zu Systrace und ermöglicht es Ihnen, beliebig lange Traces in einem binären Protokollpufferstream aufzuzeichnen. Sie können diese Traces in der Perfetto-Benutzeroberfläche öffnen.

Das System-Tracing-Tool 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 später in diesem Dokument beschrieben. 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, das 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-Scheduler, Festplattenaktivität und App-Threads. Systrace funktioniert mit allen Android-Plattformversionen. Für Geräte mit Android 10 und höher empfehlen wir jedoch Perfetto.

Screenshot der Perfetto-Trace-Ansicht

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

Screenshot des Systrace-Berichts

Abbildung 2: Ein Beispiel für einen Systrace-HTML-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 Ablaufverfolgung analysiert, um Probleme wie Ruckeln der Benutzeroberfläche oder hohen Stromverbrauch zu erkennen.

Perfetto und Systrace sind interoperabel:

Anleitungen zur Ablaufverfolgung

Weitere Informationen zu Tools für das System-Tracing finden Sie in den folgenden Leitfäden:

CPU-Aktivität mit dem CPU Profiler untersuchen
Hier erfahren Sie, wie Sie die CPU-Auslastung und Threadaktivität Ihrer App in Android Studio profilieren.
System-Trace auf einem Gerät erfassen
Hier wird beschrieben, wie Sie einen System-Trace direkt auf einem Gerät mit Android 9 (API-Level 28) oder höher erfassen.
System-Trace in der Befehlszeile aufzeichnen
Definiert die verschiedenen Optionen und Flags, die Sie an die Befehlszeilenschnittstelle 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 auf Android-Geräten aufzeichnen
Externe Dokumentation, in der beschrieben wird, wie Sie das perfetto-Befehlszeilentool zum Erfassen von Traces erstellen und ausführen.
Kurzanleitung: Traces auf Android-Geräten aufzeichnen
Der webbasierte Perfetto-Trace-Viewer öffnet Perfetto-Traces und zeigt einen vollständigen Bericht an. Sie können Systrace-Traces auch in diesem Viewer öffnen, indem Sie die Option für die alte Benutzeroberfläche verwenden.
Systrace-Bericht aufrufen
Hier werden die Elemente eines typischen Berichts aufgeführt, Tastenkombinationen für die Navigation im Bericht vorgestellt und beschrieben, wie Sie Arten von Leistungsproblemen erkennen.
Benutzerdefinierte Ereignisse definieren
Beschreibt, wie Sie benutzerdefinierte Labels auf bestimmte Abschnitte Ihres Codes anwenden können, um die Ursachenanalyse in Systrace oder Perfetto zu vereinfachen.