Tengo una vista que muestra un pequeño mapa de bits, y esto se usa en muchos lugares de mi aplicación (especialmente en las vistas de lista). Actualmente estoy cargando este mapa de bits cada vez que se crea una instancia de esa vista usando BitmapFactory.decodeResource(resource, id)
. Me di cuenta de que puedo mejorar el rendimiento cargando ese mapa de bits una vez en una variable estática (para que todas las instancias de la vista lo vuelvan a usar) y eso realmente ahorró alrededor de 2-4 ms por instancia de vista. Mi pregunta, ¿el uso de una variable estática de esta manera causa algún tipo de pérdida de memoria en Android? Estoy preocupado porque no he encontrado ningún otro ejemplo que use una variable estática para almacenar un mapa de bits como este.Almacenar un recurso de mapa de bits en una variable estática
Seguimiento pregunta:How to keep a Bitmap in memory
citando chico Romain "Cuando un Disponibles se une a una vista, la vista se establece como una devolución de llamada en el dibujo. En el fragmento de código anterior, esto significa que el dibujo tiene una referencia al TextView que tiene una referencia a la actividad (el Contexto) que a su vez tiene referencias a casi cualquier cosa (dependiendo de su código.) "... así que mantenerlo estático va a causar una pérdida de memoria. – Nitin
Gracias a @ 0col, he visto esa publicación, pero no estoy seguro de que un 'android.graphics.Bitmap' (no' android.graphics.drawable.BitmapDrawable') también sea 'Drawable'. ¿Es ese el caso? –
Hola, @AbdullahJibaly ¿Necesitamos importar o ampliar algo antes de usar Bitmap? Como estoy haciendo 'Dispositivo de mapa de bits;' y mi IDE está dando un error que _Bitmap no se puede resolver a un tipo_. Gracias por adelantado. – Learner