Wie kann ich eine Anwendung auf Leistung in Android testen? Welche Unterstützung bietet Android und wie verwende ich sie?
Wie kann man die Leistung einer Android-Anwendung testen?
Bharat Pawar
David Webb
Wenn Sie Ihre Anwendung profilieren möchten, um Leistungsengpässe zu finden, können Sie dies tun benutze die traceview
Werkzeug. Dadurch erhalten Sie eine grafische Ansicht der Performance-Traces Ihrer Anwendung.
Um eine Ablaufverfolgung zu erstellen, fügen Sie Ihrem Code an der Stelle, an der Sie mit der Ablaufverfolgung beginnen möchten, Folgendes hinzu:
Debug.startMethodTracing("myapp");
und geben Sie dann Folgendes ein, wenn Sie die Ablaufverfolgung beenden möchten:
Debug.stopMethodTracing();
Dadurch wird ein Ablaufverfolgungsdateiaufruf erstellt myapp.trace
im Stammverzeichnis der SD-Karte. Wie es auf die SD-Karte geschrieben wird:
- Wenn Sie den Emulator verwenden, müssen Sie Ihrem AVD eine SD-Karte hinzufügen.
-
Sie müssen Ihrer App die Berechtigung erteilen, auf die SD-Karte zu schreiben, indem Sie Folgendes zu Ihrem Manifest hinzufügen:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Nachdem die Datei erstellt wurde, müssen Sie sie auf Ihren PC kopieren. Sie können dies mit dem tun adb
Befehl:
adb pull /sdcard/myapp.trace c:/my/dir/myapp.trace
Endlich anfangen traceview
gibt es die vollständigen Pfad zur Trace-Datei:
traceview c:/my/dir/myapp.trace
Ich hatte einige Probleme mit traceview
scheitern mit OutOfMemory
Ausnahmen. Ich habe dies unter Windows behoben, indem ich die letzte Zeile von geändert habe traceview.bat
von:
call java -Djava.ext.dirs=%javaextdirs% -Dcom.android.traceview.toolsdir= -jar %jarpath% %*
zu:
call java -Xmx1g -Djava.ext.dirs=%javaextdirs% -Dcom.android.traceview.toolsdir= -jar %jarpath% %*
Hinzufügen der -Xmx1g
Option ermöglicht traceview
um mehr Speicher zu verwenden.
-
Gibt es eine Möglichkeit, Informationen wie Reaktionsfähigkeit, Startlatenz und von einer Anwendung verwendete CPU-Zyklen abzurufen?
– Bharat Pawar
20. Januar 10 um 5:44 Uhr
-
Ich frage mich, ob Sie TraceView allein für UI-Leistungsbenchmarks verwenden oder ob Sie es tatsächlich automatisieren, zum Beispiel in Kombination mit dem Robotium-Testframework (robotium.org). Irgendwelche „Best Practices“ in dieser Hinsicht?
– Mathias Conradt
11. Oktober 10 um 2:10 Uhr
-
Können Sie die Ablaufverfolgung in Echtzeit anzeigen, ohne die Datei kopieren zu müssen?
– AlikElzin-kilaka
30. Juli 12 um 14:29 Uhr
-
Die Größe von myapp.trace ist 0 . Warum?
– Cool i3oY
11. September 12 um 5:28 Uhr
-
Der erwähnte Link war tot. Aktualisiert: developer.android.com/studio/profile/traceview.html
– Shailendra Madda
22. Februar 17 um 10:37 Uhr
Ebenfalls, theoretisch, kann DDMS Speicherzuweisungen für Ihr Programm abrufen und Sie können den Dump dann mit Profilern analysieren.
DDMS-Referenz.
Der Grund, warum ich theoretisch kursiv geschrieben habe, ist, dass ich selbst noch nie versucht habe, so etwas zu tun.
-
⚠️ Dalvik Debug Monitor Server (DDMS) – Dieses Tool ist veraltet. —— developer.android.com/studio/profile/monitor
– Schmerz
28. September 18 um 8:20 Uhr
Ich denke, dass traceView zu viele Informationen enthält, man kann sich leicht verirren.
Meine Lösung besteht darin, die Systemzeit an drei Stellen im Code zu protokollieren.
Vorher und nachher und zentriert auf den potenziell langsamen Code.
Wie bei der binären Suche, grenzen Sie es das nächste Mal Schritt für Schritt ein und finden Sie dann endlich den Tätercode.
Eine andere Möglichkeit zum Testen ist Using TruClient auf Load Runner
Schritte, die für Mobile Web befolgt werden müssen, sind:
- Neues VuGen-Skript
- Mobiles Protokoll
- Wählen Sie TruClient Mobile Web aus
- Klicken Sie auf Erstellen
- Jetzt können Sie Skripte generieren
- Klicken Sie auf die Schaltfläche Skript entwickeln
- Es erscheint ein Popup-Fenster zur Auswahl des Geräts
- Wählen Sie Aktionen und Sie können die Skripte aufzeichnen
Folgende Schritte sind für Native Mobile zu befolgen:
- Neues VuGen-Skript
- Mobiles Protokoll
- Wählen Sie TruClient Native Mobile aus
- Klicken Sie auf Erstellen
- Jetzt können Sie Skripte generieren
- Klicken Sie auf Skript entwickeln
- TruClient-Fenster, das mit Firefox verbunden ist, wird angezeigt
- Klicken Sie auf Allgemeine Einstellungen
- Konfigurieren Sie den SERVER-URL-PORT
- Wenn Sie den Server-URL-Port nicht kennen, installieren Sie die OS MONITOR-Anwendung auf Ihrem Gerät. hier findest du die ip adresse
- Geben Sie Benutzername und Passwort ein
- Klicken Sie auf Fertig
Sie können die Skripte aufzeichnen und Ihre Tests durchführen….
Paarthiban NK
Sie können Load Runner verwenden.,
Verwenden Sie diesen Link, um mehr darüber zu erfahren.,
Zu befolgende Schritte sind:
- Neues VuGen-Skript erstellen
- Wählen Sie Mobile Anwendung – HTTP/HTML
- Aufnahmeoptionen–> Aufnahme-Emulator auswählen
- Geben Sie den Pfad zum Record Emulator als D:androidAVD Manager.exe an
- In der Befehlszeile -avd AVD_NAME -netspeed full -netdelay none wobei AVD_Name der Name Ihres Geräts ist
- Wählen Sie das Arbeitsverzeichnis aus
- klicken Sie auf Fertig
Jetzt können Sie Ihren Test durchführen.,
.