Tengo una aplicación de Android muy simple que consiste en una sola actividad con algunos cuadros de texto y un poco de código de procesamiento.¿Por qué mi aplicación para Android asigna cantidades sustancialmente diferentes de memoria en diferentes versiones del sistema operativo?
Cuando lo instalo en un dispositivo 2.3 y lo abro por primera vez, asigna ~ 2.7MB de memoria (de acuerdo con la pestaña de actualización de Hep en Eclipse DDMS).
En un dispositivo 3.1, asigna ~ 6.1MB.
En un dispositivo 4.0, asigna ~ 13.8MB.
No realicé cambios de código entre los 3, y estas medidas se tomaron con la instalación/apertura inicial de la aplicación (por lo que no ha tenido tiempo de hacer ninguna fuga). No utiliza imágenes y no tiene habilitada específicamente la aceleración de hardware.
¿Alguien sabe por qué las huellas pueden diferir tanto? Supongo que tiene que ver con las diferencias en las versiones del sistema operativo, pero me pregunto si alguien sabe cuáles podrían ser esas diferencias.
He leído sobre el cambio en la asignación de mapa de bits de 3.0 en adelante causando aumentos aparentes en la memoria asignada, pero mi aplicación no utiliza ninguna imagen. Solo consta de unos pocos campos EditText y TextViews.
¿Se puede usar el Analizador de memoria para obtener detalles y comparar asignaciones? – Asahi