Estoy analizando el uso de la memoria de nuestra aplicación, y he encontrado Drawables
extraño, que constantemente "come" algunos megabytes de montón. Aquí hay algunas capturas de pantalla de MAT:Cómo encontrar identificaciones o nombres de sistemas arrastrados preinstalados (mapas de bits) desde el volcado de memoria
árbol Dominator con 2 bastante grandes mapas de bits
Camino a GC raíces de uno de los mapas de bits por encima de
Este mapas de bits aparece siempre en vuelcos de almacenamiento dinámico desde mi teléfono (Samsung Galaxy Nexus, OS 4.1.1), sin importar cuánto tiempo o qué tan intensivo uso nuestra aplicación.
Ya he intentado buscar el origen de estos mapas de bits usando MAT, sin suerte. Toda la información útil pude encontrar fue width
y height
de mapas de bits, que es tanto 512x512:
Pero nuestra aplicación no tiene ningún individuales 512x512 dibujables. Supongo que esto es un conjunto de "sistemas". Pero que exactamente? ¿Por qué ellos tan grandes?
También he observado el código fuente de la clase android.content.res.Resources
, buscando el uso del campo sPreloadedDrawables
, también sin suerte. Todo lo que obtengo del volcado de memoria es key
del arreglo sPreloadedDrawables
, pero no puedo determinar el nombre de archivo o la identificación de recursos de esta clave.
Por lo tanto, mi pregunta es:
¿cómo se puede determinar que los nombres o identificadores de mapas de bits de este?
¿Para qué se cargan estos enormes mapas de bits y por qué permanecen siempre en la memoria?
actualización:
he encontrado una manera de look at this bitmaps from memory dump. Estos dos mapas de bits son gradientes simples, uno negro, otro - blanco. Supongo que esto es recursos para Holo.Light
y Holo.Dark
temas de ICS. Pero mi segunda pregunta sigue siendo real: ¿por qué estos mapas de bits siempre se quedan en la memoria? ¿Hay alguna forma de subirlos o reciclarlos?
¿Por qué quiere el nombre/identificación de estos mapas de bits? – toadzky
Quiero nombre/identificación de estos mapas de bits para tratar de averiguar qué se cargan estos mapas de bits y quizás intentar hacer algo con ellos desde mi código – HitOdessit