2010-09-15 14 views
17

Soy nuevo en esta plataforma de Android. En una aplicación, hay una pérdida de memoria. Pero no pude encontrar en qué actividad o clase está ocurriendo la fuga de memoria.Cómo encontrar la clase/actividad de pérdida de memoria en Android

Estoy usando MAT para obtener la información de que la pérdida de memoria está allí o no. Pero no puede encontrar qué actividad se está filtrando.

Por favor dígame cómo encontrar la actividad que se está filtrando.

Gracias.

+0

posible duplicado: http://stackoverflow.com/questions/2851483/tracing-the-memory-window-leaks-in-android – Praveen

+0

Este El artículo le mostrará cómo: http://ttlnews.blogspot.com/2010/01/attacking-memory-problems-on-android.html –

Respuesta

2

No puedo comentar sobre la publicación anterior, pero es importante darse cuenta de que absolutamente debe preocuparse por la gestión de la memoria, especialmente en el entorno de recursos limitados que es la plataforma móvil Android. Para más sobre esto, marque aquí:

http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html

+0

Evitarlo solo puede llevarlo tan lejos. A veces es una biblioteca de terceros que activa su código. –

0

se puede ver en las DDM.

Simplemente seleccione el nombre de su paquete de aplicación y haga clic en actualizar el botón anterior.

Ahora goto Heap Tab haz clic en Cause GC.

encontrará la lista de los objetos utilizados.

5

La mejor post que encontré todavía en el seguimiento de las pérdidas de memoria en las plataformas Android es:

http://ttlnews.blogspot.com/2010/01/attacking-memory-problems-on-android.html

La primera parte es obsoleta porque está ahora integrado en Eclipse, pero la mayor parte del post es genial!

+0

El artículo que vinculó fue el más útil que encontré para detectar fugas de memoria en Android. Un millón de felicitaciones. –

33

Incluso si esta pregunta es muy antigua. Creo que un pequeño tutorial con imágenes podría ser útil. Entonces primero necesita instalar el MAT plugin. Después de un reinicio, haga clic en el archivo de volcado HPROF :

Device controls

después de algún tiempo (unos 30 segundos) obtendrá un diálogo en el que puede hacer clic en Finalizar. De lo que recibe este punto de vista:

Dump result

No hace click en la parte más grande y el filtro de con referencias salientes. A continuación, se obtiene este punto de vista aquí:

Aquí se puede ver que echaba de menos a eliminar elementos de mi ContentManager donde varios artículos se almacenaron en mi pendientesHashMap.

4

Use LeakCanary - una biblioteca de detección de fugas de memoria para Android y Java. LeakCanary mostrará automáticamente una notificación cuando se detecte una pérdida de memoria de actividad en la compilación de depuración. Instalar esta biblioteca es muy simple.ejemplo

https://github.com/square/leakcanary

Notificación:

enter image description here

Cuestiones relacionadas