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
Sí, puede utilizar el DDMS, hay una guía here. Busque en "el uso del montón de visualización para un proceso de"
analizador de uso de memoria Eclipse
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.
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);
}
});
- 1. ¿Determina si una aplicación está bloqueada/ocupada?
- 2. Naming mi aplicación en Android
- 3. Supervisar la actividad de red en teléfonos Android
- 4. Supervisar la actividad del teclado en C# mientras mi aplicación está en segundo plano
- 5. ¿Por qué mi aplicación Silverlight usa tanta memoria no administrada?
- 6. Supervisar el uso de la memoria del proceso secundario
- 7. Cómo supervisar o visualizar la fragmentación de memoria de una aplicación delphi
- 8. Cómo supervisar el uso de memoria en heroku (Node.js)
- 9. ¿Cómo supervisar y mantener mi aplicación de grails en vivo/entorno de producción?
- 10. Enviar MMS desde Mi aplicación en android
- 11. Android: ¿Cómo probar la fuga de memoria en una aplicación?
- 12. ¿Por qué mi aplicación aparece 4 veces en mi dispositivo?
- 13. Cómo determinar el uso de memoria en mi aplicación .NET
- 14. Supervisar múltiples aplicaciones de rieles
- 15. Calcula programáticamente la memoria ocupada por un objeto Java, incluidos los objetos a los que hace referencia
- 16. ¿dónde está la carpeta de mi aplicación en Android?
- 17. ¿Están todos los archivos .class en mi aplicación Java cargados en la memoria después del inicio de la aplicación?
- 18. ¿Por qué lxml.etree.iterparse() consume toda mi memoria?
- 19. ¿Por qué mi aplicación para Android asigna cantidades sustancialmente diferentes de memoria en diferentes versiones del sistema operativo?
- 20. cómo implementar la compra en la aplicación en mi aplicación de Android?
- 21. La aplicación ocupada conduce al estado falso "No responde" en Windows 7 - WM_UPDATE
- 22. ¿Por qué mi aplicación está recibiendoReceiveMemoryWarning y se mata aunque la memoria es constante y hay suficiente memoria disponible?
- 23. error de falta de memoria, es culpa de mi aplicación?
- 24. ¿Cómo puedo licenciar mi aplicación de Android?
- 25. Supervisar las solicitudes HTTP realizadas por IE8
- 26. aumentar la memoria asignada a la aplicación
- 27. Qué supervisar en SQL Server
- 28. ¿Cómo puedo determinar si mi aplicación de Android tiene pérdida de memoria?
- 29. Invocar Adobe Reader desde mi aplicación Android
- 30. UIImagePickerController no libera la memoria que ocupa