Geräte mit Android 9 (API-Level 28) oder höher haben eine App auf Systemebene namens „System-Tracing“. Diese App ähnelt der
systrace
-Befehlszeilentool, aber
können Sie Traces direkt von einem Testgerät aus aufzeichnen,
muss das Gerät über adb
anschließen und verbinden. Sie können dann die Methode
App, um die Ergebnisse dieser Traces mit Ihrem Entwicklungsteam zu teilen.
Geräte mit Android 10 und höher zeichnen Traces im Perfetto-Format auf, während Frühere Geräte zeichnen sie im Systrace-Format auf. 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 bequemste Methode, um die Prozess zur Systemverfolgung auf dem Gerät.
Kachel einrichten
Wenn Sie die System-Tracing-Funktion zum ersten Mal auf Ihrem Testgerät verwenden oder die Kachel System-Tracing in den Schnelleinstellungen Ihres Geräts nicht angezeigt wird, wie in Abbildung 2 gezeigt, 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 Systemaufzeichnung wird geöffnet und das App-Menü wird angezeigt.
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 gezeigt:
Abbildung 1: Der Schalter Schnelleinstellungen-Kachel anzeigen in die System Tracing App. Abbildung 2. Die Kachel System-Tracing im Schnelleinstellungen. 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 System-Tracing mit dem Label Trace aufzeichnen. Die Kachel wird aktiviert und eine dauerhafte Benachrichtigung wird angezeigt, dass das System einen Trace aufzeichnet (siehe Abbildung 3):
Abbildung 3: Dauerhafte Benachrichtigung, die nach dem Starten eines On-Device-System-Traces angezeigt wird. Führen Sie in Ihrer App die Aktionen aus, die das System prüfen soll.
Beenden Sie das Tracing, indem Sie in der Schnellübersicht auf die Kachel System-Tracing tippen. Einstellungen oder in der System-Tracing-Benachrichtigung.
Das System zeigt eine neue Benachrichtigung mit der Meldung "Wird gespeichert Trace". Wenn der Speichervorgang abgeschlossen ist, werden die Benachrichtigungen geschlossen und wird eine dritte Benachrichtigung angezeigt, mit der bestätigt wird, dass Ihr Trace gespeichert wurde und können Sie den System-Trace freigeben (siehe Abbildung). 4:
Abbildung 4: Dauerhafte Benachrichtigung, die nach dem Das System hat einen aufgezeichneten Trace gespeichert.
Aufzeichnung über das App-Menü
Im App-Menü können Sie verschiedene erweiterte Systemeinstellungen konfigurieren. und bietet einen Switch zum Starten und Beenden eines System-Trace.
So zeichnen Sie einen System-Trace mit dem Menü der System-Tracing-App auf:
- Aktivieren Sie die Entwickleroptionen.
Öffnen Sie den Einstellungsbildschirm für die Entwickleroptionen. Wählen Sie im Bereich Debugging die Option System-Tracing aus. Die System-Tracing-App wird geöffnet.
Wenn Sie die Kachel Systemaufzeichnung eingerichtet haben, können Sie sie gedrückt halten, um die Systemaufzeichnungs-App aufzurufen.
Achten Sie darauf, dass Debugfähige Anwendungen erfassen ausgewählt ist, damit Apps, für die das Debugging aktiviert ist, in den System-Trace aufgenommen werden.
Wählen Sie optional die Kategorien von System- und Sensoraufrufen aus, die verfolgt werden sollen. und wählen Sie eine Puffergröße pro CPU in KB aus. Wählen Sie entsprechende Kategorien aus zu testen, z. B. die Kategorie Audio für Testen der Bluetooth-Vorgänge oder der Kategorie Speicher für Heap-Zuweisungen.
Wählen Sie optional Lange Traces aus, um gespeicherte Traces zu aktivieren. kontinuierlich zum Gerätespeicher wechseln. Legen Sie für diese Option Limits für die maximal lange Trace-Größe und Maximale lange Trace-Dauer.
Aktivieren Sie den Schalter Aufzeichnung erfassen, der in Abbildung 5 hervorgehoben ist. Die Kachel wird aktiviert und eine dauerhafte Benachrichtigung wird angezeigt, dass das System einen Trace aufzeichnet, wie in Abbildung 3 dargestellt.
Abbildung 5. Über den Schalter Trace aufzeichnen in den System-Tracing-Einstellungen Führen Sie in Ihrer App die Aktionen aus, die das System prüfen soll.
Deaktivieren Sie den Schalter Aufzeichnung erfassen, um das Tracing 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).
System-Trace teilen
Mit der System-Tracing-App können Sie System-Trace-Ergebnisse
unterschiedliche Workflows. Auf einem Gerät mit Android 10 (API-Level 29) oder höher:
Dateien mit der Dateiendung „.perfetto-trace
“ gespeichert und können geöffnet werden
in der Perfetto-UI aus. 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 Informationen 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 App „Dateien“ 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 über ADB herunterladen
Sie können einen System-Trace auch mit adb
von einem Gerät extrahieren. Verbinden Sie das Gerät, mit dem Sie den Trace aufgezeichnet haben, mit Ihrem 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-Protokolldateien in das Systrace-Format konvertieren. Weitere Informationen finden Sie unter Umwandeln zwischen Trace-Formaten .
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 über eine webbasierte Benutzeroberfläche einen HTML-Bericht aus der Trace-Datei oder aus der Befehlszeile aus.
Webbasierte Benutzeroberfläche
Verwenden Sie die Perfetto-UI, die Ablaufverfolgungsdatei und generieren den Bericht.
Für eine Perfetto-Datei klicken Sie auf Trace-Datei öffnen. Klicken Sie bei einer Systrace-Datei auf Mit der alten Benutzeroberfläche ö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 zu generieren aus der Trace-Datei:
cd /path-to-traces-on-my-dev-machine && \ systrace --from-file trace-file-name{.ctrace | .perfetto-trace}
Wenn Sie das Befehlszeilenprogramm systrace
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