Frage

Ich brauche meine Anwendung für Speicherlecks zu überprüfen, muss ich auch die Speicherzuweisung meiner Anwendung. Ich heruntergeladen und Eclipse Memory Analyzer installiert ist, und es sieht aus wie der erste Schritt einen Heap Dump zu öffnen ist. Aber was ist ein Heapdump, wie kann ich einen Heap Dump erstellen. Und wie genau soll ich mit dieser Software, habe ich einige googeln, aber ich konnte keine nützliche Informationen Dank

War es hilfreich?

Lösung

Wenn Sie debuggen Ihre App, öffnen DDMS in Eclipse. Auf der Symbolleiste gibt es eine Heapdump Schaltfläche, dass Sie einen Heap Dump erzeugen, können in Eclipse Memory Analyzer anzuzeigen. Dies wird nur dann unterstützt, ich denke, mit dem 1.6+ oder 2.0+ SDK.

Andere Tipps

Der Heap Dump der Dalvik VM muss regelmäßig Hprof Format konvertiert werden mit dem Hprof-conv.exe Konverter-Tool im Tools-Verzeichnis des Android SDK. Sie können diese Hprof mit Eclipse MAT oder anderen Werkzeugen geöffnet sind: YourKit http://www.yourkit.com/ und JProbe http://www.quest.com/jprobe/

Neben DDMS können Sie auch die Hprof erstellen, von Ihnen app / code (nur neuere SDKs) über Debug.dumpHprofData(...)

Beachten Sie, dass in DDMS Sie den Haufen sehen, dass Ihre Anwendung verwendet. Es zeigt nicht die native Haufen, dass externe Ressourcen wie Bitmaps zugeordnet werden. Dennoch müssen diese Ressourcen auch berücksichtigt werden, wenn für Speicherlecks überprüfen. Wenn sowohl native als auch App-Heap ergänzt 16MB / bzw. nach oben. 24MB werden Sie gleich einen OOM-Fehler.

Sie können die nativen Haufen sehen, die verwendet worden sind (das heißt von Bitmaps in Ihrer Anwendung) über Debug.getNativHeapAllocatedSize().

Siehe auch http://developer.android.com/guide/ Entwicklung / Debugging / ddms.html # Profilierungs

Wenn es hilft, können Sie mithilfe der Debug API Profilierung über lokale Bereiche des Codes ermöglichen. Auf diese Weise haben Sie weniger Ausführlichkeit, wenn die Spuren in beispielsweise Traceview zu analysieren. Siehe http://macgyverdev.blogspot.com/2011/07/ Profilieren-android-Anwendung-tutorial.html für Beispiele.

Und einige detailliertere Informationen darüber, wie DDMS Haufen konvertieren Dumps, damit Sie sie in Eclipse Memory Analyzer sehen können und Ihre undichten Objekte über den Beherrscher Baum Werkzeuge finden: http://macgyverdev.blogspot.com/2011/11/android-track-down-memory-leaks.html

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