Geräte mit Android 9 (API-Level 28) oder höher haben eine App auf Systemebene namens „System-Tracing“. Diese App ähnelt dem Befehlszeilen-Dienstprogramm systrace
. Mit ihr können Sie jedoch direkt auf einem Testgerät Protokolle aufzeichnen, ohne das Gerät anschließen und über adb
eine Verbindung dazu herstellen zu müssen. Anschließend können Sie die Ergebnisse dieser Traces über die App mit Ihrem Entwicklungsteam teilen.
Auf Geräten mit Android 10 und höher werden Traces im Perfetto-Format aufgezeichnet, während sie auf älteren Geräten im Systrace-Format aufgezeichnet werden. Wir empfehlen, den Perfetto-Trace-Viewer zu verwenden, um beide Formate zu öffnen und dann die Traces zu analysieren.
Es ist hilfreich, Traces aufzuzeichnen, wenn Sie leistungsbezogene Fehler in Ihrer App beheben, z. B. langsame Starts, langsame Übergänge oder Ruckler in der Benutzeroberfläche.
System-Trace aufzeichnen
Mit der App „System-Tracing“ können Sie einen System-Trace über die Schnelleinstellung oder ein Menü in der App aufzeichnen. In den folgenden Abschnitten wird beschrieben, wie Sie die Aufzeichnung mithilfe dieser Oberflächen abschließen.
Über die Kachel „Schnelleinstellungen“ aufzeichnen
Die Kachel „Schnelleinstellungen“ ist in der Regel die praktischere Möglichkeit, die Systemaufzeichnung auf dem Gerät durchzuführen.
Kachel einrichten
Wenn Sie die Systemaufzeichnung zum ersten Mal auf Ihrem Testgerät verwenden oder die Kachel Systemaufzeichnung nicht in den Schnelleinstellungen Ihres Geräts sehen (siehe Abbildung 2), führen Sie die folgenden Einrichtungsschritte aus:
- Aktivieren Sie die Entwickleroptionen.
- Öffnen Sie den Einstellungsbildschirm Entwickleroptionen.
- Wählen Sie im Bereich Debugging die Option System-Tracing aus. Die System Tracing App wird mit dem App-Menü geöffnet.
Aktivieren Sie im App-Menü die Option Schnelleinstellungen-Kachel anzeigen, wie in Abbildung 1 dargestellt. Das System fügt dem Bereich Schnelleinstellungen die Kachel System-Tracing hinzu, wie in Abbildung 2 dargestellt:
Hinweis:Standardmäßig wird die Kachel Systemaufzeichnung als erste Kachel im Bereich Schnelleinstellungen hinzugefügt. Wenn Sie möchten, dass die Kachel an einer anderen Position angezeigt wird, verschieben Sie sie im Bearbeitungsmodus des Steuerfelds.
Systemaufzeichnung durchführen
So zeichnen Sie einen System-Trace mit dem Bereich Schnelleinstellungen auf:
Tippen Sie auf die Kachel Systemaufzeichnung mit dem Label Aufzeichnung erfassen. Die Kachel wird aktiviert und eine dauerhafte Benachrichtigung wird angezeigt, dass das System einen Trace aufzeichnet (siehe Abbildung 3):
Führen Sie in Ihrer App die Aktionen aus, die das System prüfen soll.
Tippen Sie entweder auf die Kachel Systemaufzeichnung im Bereich Schnelleinstellungen oder auf die Benachrichtigung „Systemaufzeichnung“, um die Aufzeichnung zu beenden.
Das System zeigt eine neue Benachrichtigung mit der Meldung „Spurensicherung speichern“ an. Wenn der Vorgang abgeschlossen ist, schließt das System die Benachrichtigung und zeigt eine dritte Benachrichtigung an, in der bestätigt wird, dass der Ablauf protokolliert wurde und Sie den System-Trace freigeben können (siehe Abbildung 4):
Über das App-Menü aufnehmen
Im App-Menü können Sie mehrere erweiterte Einstellungen für das System-Tracing konfigurieren. Außerdem gibt es einen Schalter zum Starten und Beenden eines System-Traces.
So zeichnen Sie einen System-Trace mit dem Menü der System-Tracing-App auf:
- Aktivieren Sie die Entwickleroptionen.
Öffnen Sie den Einstellungsbildschirm Entwickleroptionen. Wählen Sie im Bereich Debugging die Option System-Tracing aus. Die App „System-Tracing“ wird geöffnet.
Wenn Sie die Kachel Systemaufzeichnung eingerichtet haben, können Sie sie auch gedrückt halten, um die Systemaufzeichnungs-App aufzurufen.
Achten Sie darauf, dass Fehler behebbare Anwendungen erfassen ausgewählt ist, damit Apps, für die das Debugging aktiviert ist, in den System-Trace aufgenommen werden.
Optional können Sie die Kategorien der zu erfassenden System- und Sensoraufrufe auswählen und eine CPU-spezifische Puffergröße in KB festlegen. Wählen Sie Kategorien aus, die dem zu testenden Anwendungsfall entsprechen, z. B. die Kategorie Audio zum Testen von Bluetooth-Vorgängen oder die Kategorie Speicher für Heap-Zuweisungen.
Optional können Sie Lange Traces auswählen, um Traces zu aktivieren, die fortlaufend im Gerätespeicher gespeichert werden. Legen Sie für diese Option Limits für die Maximale Größe von Long Traces und die Maximale Dauer von Long Traces fest.
Aktivieren Sie den Schalter Aufzeichnung erfassen, der in Abbildung 5 hervorgehoben ist. Die Kachel wird aktiviert und eine dauerhafte Benachrichtigung informiert Sie darüber, dass das System einen Trace aufzeichnet (siehe Abbildung 3).
Führen Sie in Ihrer App die Aktionen aus, die das System prüfen soll.
Beenden Sie das Tracing, indem Sie den Schalter Trace aufzeichnen deaktivieren.
Das System zeigt eine neue Benachrichtigung mit der Meldung „Spurensicherung speichern“ an. Wenn der Vorgang abgeschlossen ist, schließt das System die Benachrichtigung und zeigt eine dritte Benachrichtigung an, in der bestätigt wird, dass der Ablauf protokolliert wurde und Sie den System-Trace freigeben können (siehe Abbildung 4).
System-Trace freigeben
Mit der System-Tracing-App können Sie System-Tracing-Ergebnisse im Rahmen verschiedener Workflows freigeben. Auf einem Gerät mit Android 10 (API-Level 29) oder höher werden Tracedateien mit der Dateiendung .perfetto-trace
gespeichert und können in der Perfetto-Benutzeroberfläche geöffnet werden. Auf einem Gerät mit einer älteren Android-Version werden Trace-Dateien mit der Dateinamenserweiterung .ctrace
gespeichert, was dem Systrace-Format entspricht.
Als Nachricht teilen
Mit dem System-Tracing können Sie die erfassten Protokolle mit anderen Apps auf Ihrem Gerät teilen. Sie können den Trace per E-Mail oder über eine Bug-Tracking-App an Ihr Entwicklungsteam senden, ohne ein Gerät an Ihren Entwicklungscomputer anschließen zu müssen.
Nachdem Sie einen System-Trace aufgezeichnet haben, tippen Sie auf die Benachrichtigung, die auf dem Gerät angezeigt wird, wie in Abbildung 4 dargestellt. Die Intent-Auswahl der Plattform wird angezeigt. Sie können den Trace dann über die Messaging-App Ihrer Wahl teilen.
Über die Files App teilen
Auf Geräten mit Android 10 (API-Level 29) oder höher werden Traces in der Dateien App angezeigt. Sie können einen Trace über diese App freigeben.
Bericht mit ADB herunterladen
Sie können einen System-Trace auch mit adb
von einem Gerät extrahieren. Verbinden Sie das Gerät, mit dem der Trace aufgezeichnet wird, mit dem Entwicklungscomputer und führen Sie dann die folgenden Befehle in einem Terminalfenster aus:
cd /path-to-traces-on-my-dev-machine && \ adb pull /data/local/traces/ .
Zwischen Trace-Formaten konvertieren
Sie können Perfetto-Ablaufverfolgungsdateien in das Systrace-Format konvertieren. Weitere Informationen finden Sie unter Zwischen Trace-Formaten konvertieren.
HTML-Bericht erstellen
Wenn Sie den Ablauf teilen, befindet sich der Bericht auf Geräten mit Android 10 oder höher in einer .perfetto-trace
-Datei und auf allen anderen Versionen in einer .ctrace
-Datei.
Erstellen Sie einen HTML-Bericht aus der Trace-Datei über eine webbasierte UI oder über die Befehlszeile.
Webbasierte Benutzeroberfläche
Öffnen Sie die Tracedatei und generieren Sie den Bericht über die Perfetto-Benutzeroberfläche.
Klicken Sie bei einer Perfetto-Datei auf Trace-Datei öffnen. Klicken Sie für eine Systrace-Datei auf Mit Legacy-UI öffnen. Die alte Benutzeroberfläche hat dasselbe Erscheinungsbild wie der Systrace-Bericht.
Befehlszeile
Führen Sie die folgenden Befehle in einem Terminalfenster aus, um einen HTML-Bericht aus der Tracedatei zu generieren:
cd /path-to-traces-on-my-dev-machine && \ systrace --from-file trace-file-name{.ctrace | .perfetto-trace}
Wenn Sie das systrace
-Befehlszeilentool noch nicht haben, können Sie es aus dem Catapult-Projekt auf GitHub oder direkt aus dem Android Open Source Project herunterladen.
Empfehlungen für dich
- Hinweis: Der Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- Benchmark in der Continuous Integration
- System-Trace in der Befehlszeile erfassen