Frage

Ich habe meinen Emulator mit ./Emulator -trace Profil -AVD Emulator_15 gestartet. Ich habe dann die Trace -Dateien auf ~/.android/avd/rodgers_emulator_15.avd/taces/Profil verfolgt, wobei sechs Dateien vorhanden sind: qtrace.bb, qtrace.exc, qtrace.insn, qtrace.method, qtrace.pid, qtrace, qtrace, qtrace .statisch. Ich kann nicht herausfinden, was ich mit diesen Dateien machen soll. Ich habe sowohl DMTRACTRACTRACTSUMP als auch TraceView auf allen Dateien ausprobiert, aber keiner scheint eine Ausgabe zu generieren, mit der ich etwas tun kann.

Wie kann ich den Anteil an Zeiten von nativen Methoden auf Android betrachten?

War es hilfreich?

Lösung

Sie müssen verwenden tracedmdump Um den Ausgang umzuwandeln. Dies ist eine Shellfunktion, die in definiert wird build/envsetup.sh in den vollen Android -Quellen. Wenn Sie das SDK verwenden, anstatt sich aus einem vollen Baum aus zu bauen, bin ich mir nicht sicher, ob dies funktionieren wird.

(Wenn Sie nicht die Quellen haben und einen Blick auf die Nachverfolgungsfunktion werfen möchten, können Sie sie sehen hier.)

Wenn Sie verwendet haben emulator -trace profile, du würdest rennen tracedmdump profile. Dies wird verschiedene Binärdateien durchsuchen, um symbolische Informationen abzurufen und mit den Trace-Daten zu assoziieren, wodurch eine HTML-Zusammenfassung und eine TraceView-kompatible Trace-Datei generiert werden.

Es ist erwähnenswert, dass die VM mit aktivierter Profilerstellung langsamer ausführt vorsichtig sein, wenn sie Schlussfolgerungen ziehen.

Allgemeiner Kommentar: Vergessen Sie nicht, F9 oder einen der Methodenaufrufe zu verwenden, um die Verfolgung zu starten/zu stoppen - die -trace Flag ermöglicht nur die Funktion.

Andere Tipps

Um diese sechs Dateien zu verwenden, gibt es im selben Verzeichnis andere Skripte wie DMTRACTRACEDUMP, wie z. Sie erhalten Profilinformationen wie die Ausführung jedes grundlegenden Blocks, die PIDs, zu denen sie gehören.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top