Ü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 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.

Screenshot der Perfetto-Trace-Ansicht

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

Screenshot des Systrace-Berichts

Abbildung 2: Ein Systrace-HTML-Beispielbericht, der die Interaktion von fünf Sekunden mit einer App zeigt

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:

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.