Al cargar un mapa de bits con Glide, ¿quién es responsable de reciclarlo?
Estoy usando Glide para cargar mapas de bits para crear un gif.
for (int i = 0, count = files.size(); i < count; i++) { Bitmap img = Glide.with(context) .load(files.get(i)) .asBitmap() .centerCrop() .into(GIF_EXPORT_SIZE / 2, GIF_EXPORT_SIZE / 2) .get(); // addFrame creates a copy of img, so we can re-use this bitmap encoder.addFrame(img); }
Me preguntaba quién es el responsable de reciclar este mapa de bits o ponerlo de nuevo en el Glide BitmapPool? No parece que haya una forma para que Glide la reutilice automáticamente o usando clear()
.
- Cómo obtener Bitmap de un Uri?
- ¿Por qué hay cientos de mapas de bits en la memoria para una aplicación básica para Android?
- ¿Es posible mover un fondo de azulejos? (Scroll infinito con TileMode.REPEAT)
- Al guardar el mapa de bits en el disco, las rutas sólidas muestran los artefactos
- Imágenes distorsionadas en ImageView en Android 4.1.2
Miré agregar el mapa de bits de nuevo a la piscina directamente usando algo como Glide.get(context).getBitmapPool().put(img)
pero de acuerdo con la documentación que utiliza el BitmapPool directamente puede conducir a un comportamiento indefinido.
- Cómo utilizar RoundedBitmapDrawable
- Escala de imagen manteniendo su relación de aspecto en fondo dibujable
- ¿Cómo puedo hacer una aplicación de rompecabezas en droid sin quedarme sin memoria?
- Cómo combinar el mapa de bits de superposición y la imagen capturada en android?
- Android Espresso coincidir con BitmapDrawables con diferentes tonos
- Por qué Bitmap muestra fondo negro en android
- Diferentes tamaños de salida de captura en ciertas resoluciones de cámara en Android
Según su wiki, reutilización de recursos: cómo , usted no tiene que reciclar ya que Glide lo hace, pero basado en el recuento de recursos.
Cuando el recuento de referencia cae a cero, Glide recicla el recurso y devuelve su contenido a cualquier grupo disponible.
Aunque, tendrá que llamar explícitamente a Glide.clear () para disminuir el recuento de recursos porque glide sólo puede llamar a Glide.clear () al reemplazar la imagen de un destino / vista ya existente. Espero que esto ayude.