Führen Sie Winscope aus oder greifen Sie über einen Webserver darauf zu.
Sie können Traces mit Winscope für die lokale Entwicklung und Fehlerbehebung erfassen. Winscope verwendet adb, das die Geräteverbindung über USB oder WLAN unterstützt.
Wenn Sie Winscope starten, wird der Bildschirm Traces erfassen angezeigt.
Geräteverbindung
Sie können Geräte in Winscope über den Winscope-Proxy oder den Web Device-Proxyverbinden. Standardmäßig wird auf der Winscope-Startseite die UI für die Einrichtung der Winscope-Proxy -Verbindung angezeigt.
Wählen Sie einen der folgenden Mechanismen für die Geräteverbindung aus, um mit der Erfassung von Traces zu beginnen.
Winscope-Proxy einrichten
So richten Sie den Winscope-Proxy ein:
Wählen Sie auf der Startseite im Bereich Traces erfassen im Menü Verbindungstyp auswählen die Option Winscope-Proxy aus:
Abbildung 1 : Traces mit dem Winscope-Proxy erfassen
Starten Sie den Winscope ADB Connect-Proxy, um Traces direkt aus Ihrem Browser zu erfassen, indem Sie den folgenden Befehl ausführen:
python3 $ANDROID_BUILD_TOP/development/tools/winscope/src/adb/winscope_proxy.pyNotieren Sie sich das Winscope-Proxy-Token, das nach der Ausführung im Terminal angezeigt wird.
Nachdem Sie den Winscope ADB Connect-Proxy gestartet haben, ändert sich der Bildschirm wie folgt. Geben Sie das Winscope-Proxy-Token aus Schritt 3 ein und klicken Sie auf Verbinden, um die erste Verbindung zum Proxy herzustellen.
Abbildung 2 : Verbindung zum Winscope-Proxy herstellen
Web Device-Proxy einrichten
So richten Sie den Web Device-Proxy ein:
Wählen Sie auf der Startseite im Bereich Traces erfassen im Menü Verbindungstyp auswählen die Option Web Device-Proxy aus:
Abbildung 3 : Traces mit dem Web Device-Proxy erfassen
Wenn Sie den Web Device-Proxy-Daemon nicht auf Ihrem Computer haben, klicken Sie auf Installieren oder führen Sie das Installationsprogramm aus.
Genehmigen Sie den Ursprungszugriff auf den Web Device-Proxy über das Dialogfeld.
Abbildung 4 : Ursprung autorisieren
Genehmigen Sie den Zugriff für jedes neue Gerät, wenn Sie sich zum ersten Mal mit dem Gerät verbinden. Wenn das Dialogfeld nicht automatisch angezeigt wird, klicken Sie neben dem Gerät auf das Symbol
lock_open:
Abbildung 5 : Gerät autorisieren
Traces
So erfassen Sie Traces:
Wählen Sie nach der Verbindung die Ziele aus und konfigurieren Sie die Einstellungen, um den Erfassungsprozess zu starten. Klicken Sie dann auf Trace starten , um die Erfassung zu beginnen:
Abbildung 6 : Traces in Winscope erfassen
Klicken Sie auf Trace beenden, um die Erfassung zu beenden:
Abbildung 7 : Trace in Winscope beenden
Trace-Optionen
In diesem Abschnitt werden die Optionen für die einzelnen Trace-Typen beschrieben.
Bildschirmaufzeichnung
Mit Winscope können Sie den Bildschirm mehrerer Displays aufzeichnen. Wählen Sie im Menü ein Display aus, um eine Bildschirmaufzeichnung zu starten. Wenn Sie keine Auswahl treffen, zeichnet Winscope standardmäßig das aktive Display auf.
SurfaceFlinger
Puffergröße:Hiermit wird die Größe des In-Memory-Ringpuffers für den SurfaceFlinger-Trace angepasst. Ein größerer Puffer ermöglicht die Erfassung von mehr Daten, erhöht aber die Arbeitsspeichernutzung.
Eingabe:Wenn die Oberfläche Eingabedaten enthält, werden die Details des Eingabefensters erfasst.
Zusammensetzung:Erfasst den Zusammensetzungstyp und den sichtbaren Bereich.
Metadaten:Erfasst zusätzliche Oberflächenmetadaten, einschließlich der Ebenen außerhalb des Bildschirms.
HWC:Erfasst zusätzliche unstrukturierte Metadaten des Hardware-Composers.
Trace-Puffer:Konfiguriert SurfaceFlinger so, dass alle Pufferänderungen auf der Oberfläche erfasst werden. Standardmäßig erfasst SurfaceFlinger nur dann einen neuen Status, wenn sich die Geometrie ändert.
Virtuelle Displays:Bezieht virtuelle Displayebenen in den Trace ein.
WindowManager
- Puffergröße:Hiermit wird die Größe des In-Memory-Ringpuffers für den WindowManager-Trace angepasst. Ein größerer Puffer ermöglicht die Erfassung von mehr Daten, erhöht aber die Arbeitsspeichernutzung.
Tracing-Typ:Definiert die Häufigkeitsoptionen für die Erfassung von Status:
- Frame:In diesem Modus erstellt der WindowManager einen einzelnen Status pro Frame, sodass nur gültige WindowManager-Status erfasst werden. Dieser Modus hat den geringsten Leistungsoverhead.
- Transaktion:In diesem Modus wird ein WindowManager-Status aufgezeichnet, wenn eine Transaktion per Commit übergeben wird. Sie können mehrere Transaktionen innerhalb eines Frames per Commit übergeben. So können Sie Zwischenstatus des WindowManagers während eines Frames debuggen. Dieser Modus hat jedoch einen höheren Leistungsoverhead als der Frame-Modus.
Tracing-Level:Bestimmt die Ausführlichkeit der WindowManager-Traces:
- Ausführlich:Enthält alle Fenster- und Konfigurationsinformationen für jedes Fenster. Dieser Modus hat den höchsten Arbeitsspeicher- und Leistungsoverhead.
- Debug:Enthält Informationen zu allen Fenstern, protokolliert aber nur die Fensterkonfiguration, wenn sie eine angeforderte Überschreibungskonfiguration enthält.
- Kritisch:Enthält dieselben Informationen wie der Debug-Modus, aber nur sichtbare Fenster. Dieser Modus hat den geringsten Arbeitsspeicher- und Leistungsoverhead.
Dumps
Wenn Sie mit Winscope einen Status-Dump erstellen möchten, wählen Sie auf der Startseite unter Traces erfassen den Tab Dump aus und klicken Sie dann auf Status-Dump:
Abbildung 8 : Status-Dump in Winscope
Screenshot-Konfiguration
Mit Winscope können Sie Screenshots von mehreren Displays erstellen. Wählen Sie im Menü ein Display aus, um einen Screenshot zu erstellen. Wenn keine Auswahl getroffen wird, wird ein Screenshot des aktiven Displays erstellt.