¿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.

  • Android camera2 Error de API en la llamada a createCaptureSession
  • Cordova no puede construir para Android después de personalizar la configuración
  • Visualización de valores nulos después de que los primeros usuarios inicien sesión en android
  • Cambio de Android Color de sombra de elevación de material
  • ¿Cómo es que Android AsyncTask no implementa el futuro?
  • Clueless Acerca de (posible) pérdida de memoria de Android
  • No se puede comprobar permisos en fragmento con Sdk 23?
  • Seguridad de facturación InApp y invocación de métodos remotos
  • Libgdx ScrollPane - ¿No se desplaza?
  • Principal java.lang.RuntimeException: No se puede iniciar la actividad ComponentInfo
  • Cómo diseñar "animación manual" en un juego de Android sin retrasos de código
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.