Question

Je dois vérifier ma demande de fuites de mémoire, je dois aussi voir l'allocation de mémoire de ma demande. J'ai téléchargé et installé l'analyseur de mémoire éclipse, et il semble que la première étape est d'ouvrir une décharge de tas. Mais ce qui est une décharge de tas, comment puis-je créer une décharge de tas. Et comment je vais exactement j'utiliser ce logiciel, je l'ai fait quelques googler, mais je ne pouvais pas trouver toutes les informations utiles merci

Était-ce utile?

La solution

Lorsque vous déboguer votre application, ouvrez DDMS dans Eclipse. Sur la barre d'outils il y a un bouton de vidage de tas que vous pouvez utiliser pour générer une décharge de tas pour voir dans l'analyseur de mémoire Eclipse. Ceci est pris en charge que je pense qu'avec le SDK 1.6+ ou 2.0+.

Autres conseils

La décharge de tas de Dalvik VM doit être converti au format régulier de hprof en utilisant l'outil de conversion hprof-conv.exe dans le répertoire tools du SDK Android. Vous pouvez ouvrir hprof avec Eclipse MAT ou d'autres outils sont: YourKit http://www.yourkit.com/ et Jprobe http://www.quest.com/jprobe/

En plus DDMS vous pouvez également créer l'hprof de vous app / code (seulement les nouveaux kits de développement) via Debug.dumpHprofData(...)

Notez que dans DDMS vous pouvez voir le tas que votre application utilise. Il ne montre pas le tas natif que les ressources externes tels que les bitmaps allouent. , Ces ressources doivent aussi néanmoins être pris en compte lors de la vérification des fuites de mémoire. Lorsque les deux tas natif et l'application ajoute jusqu'à 16 Mo / resp. 24MB vous obtiendrez une erreur OOM.

Vous pouvez voir le tas natif qui a été utilisé (par exemple par des bitmaps dans votre application) via Debug.getNativHeapAllocatedSize().

Voir aussi http://developer.android.com/guide/ développement / débogage / ddms.html # profilage

Si elle aide, vous pouvez activer le profilage sur les zones locales de code en utilisant l'API de débogage. De cette façon, vous avez moins verbosité lors de l'analyse des traces dans TraceView par exemple. Voir http://macgyverdev.blogspot.com/2011/07/ profilage-android-application tutorial.html pour des exemples.

Et quelques informations plus détaillées sur la façon de convertir tas DDMS décharges afin que vous puissiez les voir dans Memory Analyzer Eclipse et de trouver vos objets via l'outillage qui fuient arbre Dominator: http://macgyverdev.blogspot.com/2011/11/android-track-down-memory-leaks.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top