2011-07-20 8 views
6

Estoy tratando de optimizar la cantidad de memoria que consume mi aplicación. Cuando mi aplicación se carga (presionando la tecla de inicio y luego seleccionando el administrador de tareas) puedo ver que la aplicación está tomando 17MB pero ese valor no se actualiza. ¿Cómo puedo rastrear ese valor en tiempo real? DDMS tiene una opción para eso? Por favor sea específico He buscado mucho y no se ha encontrado nada. gracias de antemanoSupervisar la memoria ocupada por mi aplicación en Android

Respuesta

3

Sí, puede utilizar el DDMS, hay una guía here. Busque en "el uso del montón de visualización para un proceso de"

2

analizador de uso de memoria Eclipse

Here

Después de instalar MAT. En su eclipse IDE, desde la vista Dispositivos, seleccione su aplicación y haga clic en Descargar archivo HPROF. Abrirá automáticamente un asistente para que seleccione qué tipo de análisis desea realizar.

4

Otro método de depuración más orientado al código para el seguimiento de la memoria aparece en https://stackoverflow.com/a/6471227/978329 con un enlace a un blog con más información.

Para ser breves, se puede poner con cuidado el siguiente código (o una versión mejorada de la misma) en una especie de en el evento clic y obtener la información en tiempo real en un registro o un mensaje de aviso emergente:

View v = (View) findViewById(R.id.SomeLayout); 

    v.setOnClickListener(new OnClickListener() { 
     public void onClick(View view) { 

      Debug.MemoryInfo memoryInfo = new Debug.MemoryInfo(); 
      Debug.getMemoryInfo(memoryInfo); 

      String memMessage = String.format("App Memory: Pss=%.2f MB, Private=%.2f MB, Shared=%.2f MB", 
        memoryInfo.getTotalPss()/1024.0, 
        memoryInfo.getTotalPrivateDirty()/1024.0, 
        memoryInfo.getTotalSharedDirty()/1024.0); 

      Toast.makeText(ThisActivity.this, 
        memMessage, 
        Toast.LENGTH_LONG).show(); 
      Log.i("log_tag", memMessage); 
     } 
     }); 
Cuestiones relacionadas