diff --git a/app/src/main/java/com/limelight/grid/AppGridAdapter.java b/app/src/main/java/com/limelight/grid/AppGridAdapter.java index e2fb87cc..381d4def 100644 --- a/app/src/main/java/com/limelight/grid/AppGridAdapter.java +++ b/app/src/main/java/com/limelight/grid/AppGridAdapter.java @@ -75,6 +75,8 @@ public class AppGridAdapter extends GenericGridAdapter { public void cancelQueuedOperations() { cancelTuples(loadingTuples); cancelTuples(backgroundLoadingTuples); + + loader.freeCacheMemory(); } private void sortList() { diff --git a/app/src/main/java/com/limelight/grid/assets/CachedAppAssetLoader.java b/app/src/main/java/com/limelight/grid/assets/CachedAppAssetLoader.java index 7c813c32..611a2aed 100644 --- a/app/src/main/java/com/limelight/grid/assets/CachedAppAssetLoader.java +++ b/app/src/main/java/com/limelight/grid/assets/CachedAppAssetLoader.java @@ -30,6 +30,10 @@ public class CachedAppAssetLoader { this.diskLoader = diskLoader; } + public void freeCacheMemory() { + memoryLoader.clearCache(); + } + private Runnable createLoaderRunnable(final LoaderTuple tuple, final Object context, final LoadListener listener) { return new Runnable() { @Override diff --git a/app/src/main/java/com/limelight/grid/assets/MemoryAssetLoader.java b/app/src/main/java/com/limelight/grid/assets/MemoryAssetLoader.java index 995a4f36..47831a75 100644 --- a/app/src/main/java/com/limelight/grid/assets/MemoryAssetLoader.java +++ b/app/src/main/java/com/limelight/grid/assets/MemoryAssetLoader.java @@ -30,4 +30,8 @@ public class MemoryAssetLoader { public void populateCache(CachedAppAssetLoader.LoaderTuple tuple, Bitmap bitmap) { memoryCache.put(constructKey(tuple), bitmap); } + + public void clearCache() { + memoryCache.evictAll(); + } }