У меня есть одно предложение для вас
используйте библиотеку Glide, она имеет встроенную функциональность для сохранения загруженных изображений в кэш-память в соответствии с вашими потребностями, а затем автоматически перезагрузится из кеша.
Glide : https://github.com/bumptech/glide
использование:
Glide.with(context)
.load("image-url")
.diskCacheStrategy(DiskCacheStrategy.DATA)
.into(imageView);
Используйте diskCacheStrategy для хранения изображений в кеше, памяти, ресурсах, где вы хотите.