¿Cómo puedo detectar el uso de tamaño de montón de una aplicación de Android?

Me gustaría saber la cantidad de espacio de montón utilizado por mi aplicación de Android de dos maneras: – mediante programación – a través de DDMS.

Me he referido a este post, antes de publicar aquí. En ese puesto, se menciona que, Debug.getNativeHeapSize() devuelve el heapsize. ¿Es este el método exacto que debo utilizar, para detectar programaticamente el tamaño del montón? Si es así, ¿dónde debo registrarlo para obtener el uso correcto de mi aplicación?

Esto es lo que uso:

 public static void logHeap() { Double allocated = new Double(Debug.getNativeHeapAllocatedSize())/new Double((1048576)); Double available = new Double(Debug.getNativeHeapSize())/1048576.0; Double free = new Double(Debug.getNativeHeapFreeSize())/1048576.0; DecimalFormat df = new DecimalFormat(); df.setMaximumFractionDigits(2); df.setMinimumFractionDigits(2); Log.d("tag", "debug. ================================="); Log.d("tag", "debug.heap native: allocated " + df.format(allocated) + "MB of " + df.format(available) + "MB (" + df.format(free) + "MB free)"); Log.d("tag", "debug.memory: allocated: " + df.format(new Double(Runtime.getRuntime().totalMemory()/1048576)) + "MB of " + df.format(new Double(Runtime.getRuntime().maxMemory()/1048576))+ "MB (" + df.format(new Double(Runtime.getRuntime().freeMemory()/1048576)) +"MB free)"); } 

Sí. Tenga en cuenta que también hay vista de montón en DDMS y puede utilizar MAT Eclipse que es más que útil, especialmente en las fugas de memoria de seguimiento, pero esto es un enorme, pero los números que ves son sólo de referencia de memoria que es administrado por VM. Hay muchos subsistemas en android que se implementan debajo de VM – nativo. El ejemplo más simple Bitmap class. No verá toda la memoria asignada a un mapa de bits en DDMS y el recolector de elementos no es muy bueno / rápido en la recuperación de esta memoria. así que ten cuidado.

  • Comunicación asíncrona entre Javascript y Phonegap Plugin
  • ¿En MVP está onClick la responsabilidad de View o Presenter?
  • ¿Por qué la API de Android solicita un parámetro de resultados en lugar de un método de devolución?
  • JSON a clase Java
  • Android: mover los botones libremente en el editor de diseño gráfico de Eclipse
  • Tensorflow Android demo: cargar un gráfico personalizado?
  • ¿Cómo puedo hacer que este zip rxjava funcione en paralelo?
  • ¿Por qué el valor del atributo de anotación Rest.rootUrl debe ser una expresión constante?
  • Cómo analizar con GSON cuando el identificador tiene espacio en el nombre
  • Conversión de httpclient 3 a httpclient 4 (política de cookies)
  • ¿Cómo crear un archivo - incluyendo carpetas - para una ruta determinada?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.