Android ==> l'Analyse de la Mémoire ==> Éclipse de la mémoire de l'analyseur?
J'ai besoin de vérifier mon application pour les fuites de mémoire, j'ai aussi besoin de voir l'allocation de mémoire de ma demande.
J'ai téléchargé et installé eclipse de la mémoire de l'analyseur, et il semble que la première étape est d'ouvrir un tas de vidage.
Mais qu'est ce qu'un tas de vidage, comment puis-je créer un tas de vidage.
Et exactement comment vais-je utiliser ce logiciel, j'ai fait quelques recherches sur google mais je ne pouvais pas trouver toutes les informations utiles
grâce
Juste pour info, car il se réfère à la question - il y a un nouveau billet de blog sur le blog android sur mem analyse: android-developers.blogspot.com/2011/03/...
OriginalL'auteur aryaxt | 2010-06-24
Vous devez vous connecter pour publier un commentaire.
Lors du débogage de votre application, ouvrez DDMS dans Eclipse. Sur la barre d'outils il y a un tas de vidage de bouton que vous pouvez utiliser pour générer un dump du tas de vue de l'Éclipse de la mémoire de l'analyseur. C'est uniquement pris en charge je pense qu'avec le 1,6+ 2,0+ SDK.
J'ai pensé moi-même. Fichier ==> Enregistrer sous, puis ouvre le fichier dans la mémoire de l'analyseur
Vous avez omis une étape clé mentionné dans la réponse de Mathias: "Le tas de vidage de la dalvik VM doit être converti à la régulière hprof format à l'aide de la hprof-conv.exe convertisseur outil dans le répertoire tools du SDK Android."
OriginalL'auteur Robby Pond
Le tas de vidage de la dalvik VM doit être converti à la régulière hprof format à l'aide de la hprof-conv.exe convertisseur outil dans le répertoire tools du SDK Android.
Vous pouvez ouvrir cette hprof avec Eclipse TAPIS ou d'autres outils sont:
YourKit http://www.yourkit.com/
et JProbe http://www.quest.com/jprobe/
À côté de DDMS vous pouvez également créer le hprof de vous app/code (uniquement les nouveaux Kits de développement logiciel) via
Debug.dumpHprofData(...)
Noter que dans DDMS vous pouvez voir le tas que votre application utilise. Il ne montre pas la native tas de ressources externes, telles que les bitmaps sont l'allocation. Néanmoins, ces ressources doivent également être pris en compte lors de la vérification des fuites de mémoire. Lorsque les deux natifs et app tas ajoute jusqu'à 16MB /resp. 24MO, vous obtiendrez un OOM erreur.
Vous pouvez voir le natif de segment de mémoire qui a été utilisée (c'est à dire par des images dans votre application) via
Debug.getNativHeapAllocatedSize()
.est-il possible d'analyser/afficher des objets dans le tas natif?
désolé, je ne sais pas, n'ai pas regardé pour ces encore moi-même.
avez-vous trouver un moyen pour analyser les objets en mémoire natif?
désolé je n'ai pas.. mais si jamais vous l'apprendre, j'aimerais savoir!
OriginalL'auteur Mathias Conradt
Voir aussi http://developer.android.com/guide/developing/debugging/ddms.html#profiling
Si cela peut aider, vous pouvez activer le profilage sur les zones de code à l'aide de l'API de Débogage. De cette façon, vous avez moins de verbosité lors de l'analyse des traces, par exemple, dans traceview. Voir http://macgyverdev.blogspot.com/2011/07/profiling-android-application-tutorial.html pour des exemples.
Et quelques infos plus détaillées sur la façon de convertir DDMS tas dumps de sorte que vous pouvez les voir dans l'Éclipse de la Mémoire de l'Analyseur et de trouver votre fuite d'objets via le dominateur de l'arbre de l'outillage: http://macgyverdev.blogspot.com/2011/11/android-track-down-memory-leaks.html
OriginalL'auteur Johan Norén