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() .

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.

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.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.