Ü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. Mithilfe dieses Berichts können Sie ermitteln, wie Sie die Leistung Ihrer App oder Ihres Spiels am besten verbessern können.

Eine umfassende Einführung in das Tracing und die Profilerstellung finden Sie in der Perfetto-Dokumentation auf der Seite Tracing 101.

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

  • CPU und Arbeitsspeicher-Profiler von Android Studio
  • Perfetto-Befehlszeilentool (Android 10 und höher)
  • Dienstprogramm zur Systemverfolgung
  • 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 in Bezug auf Touch-Ereignisse, Activity-Änderungen und automatische Speicherbereinigungsereignisse.

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

Das Dienstprogramm für das System-Tracing 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 beschrieben wird. Auf einem Gerät mit einer früheren Android-Version werden Trace-Dateien im Systrace-Format gespeichert.

Systrace ist ein von der Legacy-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. aus dem CPU-Planer, der Laufwerksaktivität und den App-Threads. Systrace funktioniert mit allen Android-Plattformversionen, wir empfehlen jedoch Perfetto für Geräte mit Android 10 und höher.

Screenshot der Trace-Ansicht von Perfetto

Abbildung 1: Eine Perfetto-Beispiel-Trace-Ansicht, die eine Interaktion von etwa 20 Sekunden 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 Anwendung zeigt.

Beide Berichte bieten einen Gesamtüberblick über die Systemprozesse eines Android-Geräts für einen bestimmten Zeitraum. Der Bericht untersucht auch die erfassten Tracing-Informationen, um festgestellte Probleme aufzuzeigen, z. B. UI-Verzögerung oder hoher Stromverbrauch.

Perfetto und Systrace sind interoperabel:

Leitfäden zur Systemverfolgung

Weitere Informationen zu Tools zur Systemverfolgung finden Sie in den folgenden Leitfäden:

CPU-Aktivität mit CPU Profiler prüfen
Hier erfährst du, wie du ein Profil zur CPU-Nutzung und Thread-Aktivität deiner App in Android Studio erstellst.
System-Trace auf einem Gerät erfassen
Hier wird erläutert, 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 erfahren Sie, wie Sie das perfetto-Befehlszeilentool ausführen, um Traces zu erfassen.
Kurzanleitung: Traces unter Android aufzeichnen
Externe Dokumentation, in der beschrieben wird, wie das perfetto-Befehlszeilentool zum Erfassen von Traces erstellt und ausgeführt wird
Kurzanleitung: Traces unter Android aufzeichnen
Der webbasierte Trace Viewer von Perfetto ö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 verwenden
Listet die Elemente eines typischen Berichts auf, nennt Tastenkombinationen zum Navigieren im Bericht und beschreibt, wie Sie die Arten von Leistungsproblemen erkennen können.
Benutzerdefinierte Ereignisse definieren
Hier wird beschrieben, wie Sie benutzerdefinierte Labels auf bestimmte Abschnitte Ihres Codes anwenden, um die Ursachenanalyse in Systrace oder Perfetto zu vereinfachen.