Android Studio umfasst ein grafisches Frontend für Simpleperf, das in Prüfen Sie die CPU-Aktivität mit dem CPU-Profiler. Die meisten Nutzer werden lieber diese Methode anstelle von Simpleperf direkt verwenden.
Wenn Sie lieber die Befehlszeile verwenden möchten, ist Simpleperf eine vielseitige Das CPU-Profiling-Tool ist im NDK für Mac, Linux und Windows enthalten.
Die vollständige Dokumentation finden Sie in der README-Datei von Simpleperf.
Tipps und Rezepte für Profis
Wenn Sie gerade erst mit Simpleperf angefangen haben, finden Sie hier einige Befehle, die Sie möglicherweise besonders nützlich sein. Weitere Befehle und Optionen finden Sie unter Referenz für Simpleperf-Befehle und -Optionen
Herausfinden, welche gemeinsam genutzten Bibliotheken am längsten benötigt werden
Sie können diesen Befehl ausführen, um zu sehen, welche .so
-Dateien den größten Prozentsatz der Ausführung beanspruchen
Zeit (basierend auf der Anzahl der CPU-Zyklen) ab. Dies ist ein guter erster Befehl, den Sie beim Start
für Ihre Sitzung zur Leistungsanalyse.
$ simpleperf report --sort dso
Herausfinden, welche Funktionen am längsten dauern
Sobald Sie ermittelt haben, welche gemeinsam genutzte Bibliothek die meiste Zeit in Anspruch nimmt, können Sie diesen Befehl
, um den Prozentsatz der für die Ausführung der Funktionen dieser .so
-Datei aufgewendeten Zeit zu sehen.
$ simpleperf report --dsos library.so --sort symbol
Prozentsatz der in Threads verbrachten Zeit ermitteln
Die Ausführungszeit in einer .so
-Datei kann auf mehrere Threads aufgeteilt werden. Sie können diesen Befehl ausführen, um
den Prozentsatz der in jedem Thread verbrachten Zeit sehen.
$ simpleperf report --sort tid,comm
Prozentsatz der in Objektmodulen verbrachten Zeit ermitteln
Nachdem Sie die Threads ermittelt haben, für die die meiste Ausführungszeit benötigt wird, können Sie mit diesem Befehl die Objektmodule isolieren, die die längste Ausführungszeit in diesen Threads benötigen.
$ simpleperf report --tids threadID --sort dso
Zusammenhänge von Funktionsaufrufen
Eine Aufrufgrafik bietet eine visuelle Darstellung eines Stacktrace, den Simpleperf während der Profilerstellungs-Sitzung.
Mit dem Befehl report -g
können Sie eine Aufrufgrafik ausgeben, um zu sehen,
Funktionen von anderen Funktionen aufgerufen werden. Damit lässt sich feststellen, ob eine Funktion langsam ist,
oder weil eine oder mehrere aufgerufene
Funktionen langsam sind.
$ simpleperf report -g
Sie können auch das Python-Skript report.py -g
verwenden, um ein interaktives Tool zu starten,
Funktionen. Sie können auf die einzelnen Funktionen klicken, um zu sehen, wie viel Zeit mit ihren untergeordneten Elementen verbracht wird.
Profilerstellung für mit Unity erstellte Apps
Wenn Sie ein Profil für eine App erstellen, die mit Unity erstellt wurde, wie folgt aussehen:
- Öffnen Sie Ihr Android-Projekt im Unity Editor.
- Achte darauf, dass im Fenster Build Settings für die Android-Plattform Die Option Development Build ist aktiviert.
- Klicke auf Player Settings (Player-Einstellungen) und setze die Eigenschaft Stripping Level (Auslagerungsstufe) auf Deaktiviert: