2011-05-21 14 views
22

Solo quiero saber cómo trabajar con la herramienta de análisis de memoria en Android. Por favor dígame cómo hacer esto para saber sobre fugas de memoria para un proyecto en particular. ¿Puede alguien darme un procedimiento paso a paso para esto?Memory Analyzer Tool en android?

Respuesta

23
  1. perspectiva abierta DDMS en Eclipse.
  2. Seleccionar Dispositivos tab.
  3. Elija un proceso que desee convertir en un volcado.
  4. Haga clic en Volcar archivo HPROF botón. Se realizará el volcado y se abrirá la ventana MAT, suponiendo que MAT esté instalado.
  5. Elija Informe de sospechosos de fugas en la ventana del asistente y haga clic en Finalizar.

Eso es todo. Verá una lista de posibles filtraciones, pero algunas son falsas positivas. Te recomiendo que ejecutes una actividad en la que quieras verificar fugas varias veces y luego ejecutes MAT nuevamente.

+1

Gracias, déjame verlo ...... En realidad, quiero saber si hay pérdida de memoria para un proyecto o actividad en particular, ¿cómo puedo cargar un proyecto en particular para la pérdida de memoria? – Taruni

+0

3.Elija un proceso que quiera hacer un volcado para ... cuál es el proceso aquí ... no obtuve – Taruni

+0

Espero que no tengas miles de fugas por lo que no será tan difícil encontrar todas las fugas para un objeto en particular. Pero no creo que MAT tenga esa característica para buscar filtraciones de algunos objetos. Solo busca todas las filtraciones posibles. – Michael

4
+0

Gracias, déjame verlo – Taruni

+0

En realidad, quiero saber la pérdida de memoria para un proyecto o actividad en particular, ¿cómo puedo cargar un proyecto en particular para la pérdida de memoria – Taruni

+0

mientras uso el modo DDMS? Me aparece el siguiente error ::: hprof : no se puede abrir /sdcard/profileit.ImageDemo.hprof-hptemp: Permiso denegado. – Taruni

1

Escribir en hprof falla cuando no ha usado android.permission.WRITE_EXTERNAL_STORAGE. Como caso especial cuando se está probando en el dispositivo, compruebe si la tarjeta SD está conectado en modo único cargo de otro modo usted no tiene acceso de escritura en la tarjeta SD

+0

gracias lo voy a comprobar – Taruni

0
  • Instalar MAT.

  • Ir a Herramientas> Android -> monitor de dispositivos Android (DDMS)

  • En la parte superior izquierda bajo dispositivos, seleccione el nombre del proyecto y clic actualización Montón.

  • A continuación, haga clic en Volcar HPROF Archivo y guárdelo en el escritorio.

  • A continuación, ejecute el símbolo del sistema y señale el directorio Android-sdk.

    Para un ejemplo: hprof-conv se encuentra en el directorio E. Por lo tanto, ejecute el comando como cd android/sdk/platform-tools.

  • Luego, ejecute este comando refiriendo doc para convertir este formato de archivo para leerlo en MAT.

    E: \ Android \ SDK \ Platform-tools>hprof-conv "C:\Users\Steve\Desktop\yourfilename.hprof" "C:\Users\Steve\Desktop\leakage.hprof"

  • Ahora su archivo será convertido a leakage.hprof.check este archivo y abrirlo en MAT.

Editar: Haga clic detalles, a continuación, se mostrará la clase names.In que Left Click -> Path To GC Roots ->With all references .A continuación, se muestra el nombre de la clase.

0

Square open originó una herramienta de análisis de memoria: LeakCanary.

El núcleo del LeakCanary es MAT.

-2

Actualice a la versión de estudio de Android 1.4 o 1.5. En esta versión, Android ha admitido una nueva herramienta llamada Analyzer Task . Es muy útil para evitar la pérdida de memoria.

0

Recomiendo echar un vistazo a Leak Canary. No es un analizador de memoria per se, sino más un detector de fugas. Simplemente use su aplicación, abra y cierre actividades y deje que la biblioteca haga su trabajo. Incluso le informará sobre dónde ocurrió la fuga. Simplemente déle al analizador de fugas algún tiempo para que haga su trabajo después de que se produjo la fuga; por lo general, demora alrededor de 2 minutos o más hasta que se haya encontrado la fuente de la fuga.