Usar Glide para almacenar imágenes de la vista web en caching

Me gustaría usar Glide para administrar los resources de image de mi vista web, principalmente para poder reutilizarlos más adelante en otras vistas.

Configuré una networkingirección interceptando cargas de resources de imágenes y devolviendo la siguiente WebResourceResponse :

 class ImageResponse(view: WebView, url: String) : WebResourceResponse("", "", null) { val futureBitmap = GlideApp.with(view).asBitmap().load(url).submit() override fun getData(): InputStream { val bos = ByteArrayOutputStream() futureBitmap.get().compress(CompressFormat.PNG, 0 /*ignonetworking for PNG*/, bos) val bitmapdata = bos.toByteArray() return ByteArrayInputStream(bitmapdata) } } 

En última instancia, creo un cargador futuro y lo uso para almacenar en caching y devolver la image como una stream de input.

Sin embargo, este método es significativamente más lento que el método nativo de la vista web (~ 5s vs ~ 8s).

Esto puede deberse en parte a que Glide debe confirmar con el hilo de la interfaz de usuario con cada request para asegurarse de que la vista sea válida antes de continuar con la carga.

¿Hay algo que pueda hacer para mejorar el process de carga?

(También me gustaría verificar que submit() comience a cargar los resources de forma inmediata en lugar de esperar que se llame a get() en el destino futuro, pero aún no he encontrado la manera de agregar un oyente y no veo en los documentos)