The issue is that currently if I call Glide.load() multiple times with the same URL. however, each time with an image views the image gets downloaded again.
It happens because the width and height are mixed into the cache key so if you load the same image into multiple different views with different sizes, the image will be fetched once per image by default.
You can change this by calling .diskCacheStrategy() with DiskCacheStrategy.SOURCE on remote image loads. Doing so will use only the original URL as the cache key and so you will get a cache hit if you try to load the same URL with multiple sizes.
Glide .with( context ) .load( URL ) .diskCacheStrategy( DiskCacheStrategy.SOURCE ) .into( imageViewInternet );
For more details