Я боролся с этим в течение некоторого времени; ответы, использующие SoftReferences, потеряли бы свои данные слишком быстро. Ответы, которые предполагают создание экземпляра RequestCache, были слишком запутанными, плюс я никогда не мог найти полный пример.
Но ImageDownloader.java прекрасно работает для меня. Он использует HashMap до тех пор, пока не будет достигнута емкость или пока не истечет время ожидания очистки, после чего все будет перенесено в SoftReference, используя тем самым лучшее из обоих миров.