diff --git a/library/src/main/java/com/bumptech/glide/util/LruCache.java b/library/src/main/java/com/bumptech/glide/util/LruCache.java index 1311fa1765..96df3bff88 100644 --- a/library/src/main/java/com/bumptech/glide/util/LruCache.java +++ b/library/src/main/java/com/bumptech/glide/util/LruCache.java @@ -1,6 +1,8 @@ package com.bumptech.glide.util; import android.support.annotation.Nullable; + +import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; @@ -166,12 +168,14 @@ public void clearMemory() { */ protected synchronized void trimToSize(int size) { Map.Entry last; + Iterator> cacheIterator; while (currentSize > size) { - last = cache.entrySet().iterator().next(); + cacheIterator = cache.entrySet().iterator(); + last = cacheIterator.next(); final Y toRemove = last.getValue(); currentSize -= getSize(toRemove); final T key = last.getKey(); - cache.remove(key); + cacheIterator.remove(); onItemEvicted(key, toRemove); } }