2012-09-21 18 views
6

He desarrollado una aplicación, quiero comprobar la fuga de memoria que ocurre en la aplicación. Estoy intentando eclipse MAT, pero sin éxito, estoy obteniendo el archivo HROF pero eclipse MAT incapaz de leerlo. Alguien puede ayudarme. Cualquier otra forma de averiguarlo.Android: ¿Cómo probar la fuga de memoria en una aplicación?

+0

Y usted ha leído esta publicación: http://android-developers.blogspot.com/2011/03/memory-analysis-for-android.html Entonces, ¿qué es confuso? –

+0

He pasado por esto. También tengo el archivo de volcado del montón. cuando intenté abrirlo en el eclipse de memoria analizado, es decir, MAT muestra que el archivo no se puede leer. –

Respuesta

4

Es necesario convertir el archivo dump.hprof de Android. Luego puede abrir el archivo convertido-dump.hprof en MAT.

hprof-conv dump.hprof converted-dump.hprof 
+0

Morrison-- oohk .. Gracias. Creo que me olvidé de convertirlo ... Lo intentaré y lo sabré ... –

+0

Gracias @morrison ... convertida funcionando bien y obtuve la tasa de fuga de memoria ... –

3

Encontré this video muy útil. Esto habla sobre cómo encontrar fugas de memoria de Logcat (registros del recolector de basura) y cómo usar el analizador de memoria (MAT).

+0

Sujith ... gracias .. He visto este video. . video impresionante para obtener conocimiento del analizador de memoria (MAT). –

1

@sujith El video es muy bueno. Para resumir, 1) el video hablaba de una fuga muy difícil de encontrar por "clase interna no estática". Hay una explicación detallada sobre esto en this page. 2) Habló acerca de algunos conceptos importantes cuando se usa la herramienta de análisis de memoria, como el montón poco profundo frente al montón retenido, raíz GC y árbol dominador. 3) Mostró un ejemplo del uso de MAT para identificar una fuga. En MAT la herramienta más útil que dijo es Histogram y Dominator Tree. Al examinar un objeto más, usó el menú del botón derecho "Path to GC Root" y luego "Exclude Weak References".