diff options
author | Scott Jackson <daneren2005@gmail.com> | 2015-01-28 08:36:38 -0800 |
---|---|---|
committer | Scott Jackson <daneren2005@gmail.com> | 2015-01-28 08:36:38 -0800 |
commit | 69f2c3ea0efe53e04a70ebf29dbf93d6c9558498 (patch) | |
tree | 265e0cf25ad7fe182138155b38592aa83844507e /src | |
parent | 13f20479c896832b58af269edf119a040dfa6d6e (diff) | |
download | dsub-69f2c3ea0efe53e04a70ebf29dbf93d6c9558498.tar.gz dsub-69f2c3ea0efe53e04a70ebf29dbf93d6c9558498.tar.bz2 dsub-69f2c3ea0efe53e04a70ebf29dbf93d6c9558498.zip |
Put ImageLoader.clearAll in background thread to not block close
Diffstat (limited to 'src')
-rw-r--r-- | src/github/daneren2005/dsub/util/ImageLoader.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/github/daneren2005/dsub/util/ImageLoader.java b/src/github/daneren2005/dsub/util/ImageLoader.java index a6f482eb..41b4da03 100644 --- a/src/github/daneren2005/dsub/util/ImageLoader.java +++ b/src/github/daneren2005/dsub/util/ImageLoader.java @@ -64,6 +64,7 @@ public class ImageLoader { private final int imageSizeDefault; private final int imageSizeLarge; private final int avatarSizeDefault; + private boolean clearingCache = false; private final static int[] COLORS = {0xFF33B5E5, 0xFFAA66CC, 0xFF99CC00, 0xFFFFBB33, 0xFFFF4444}; @@ -81,7 +82,7 @@ public class ImageLoader { @Override protected void entryRemoved(boolean evicted, String key, Bitmap oldBitmap, Bitmap newBitmap) { if(evicted) { - if(oldBitmap != nowPlaying && key.indexOf("unknown") == -1) { + if(oldBitmap != nowPlaying && key.indexOf("unknown") == -1 || clearingCache) { if(sizeOf("", oldBitmap) > 500) { oldBitmap.recycle(); } @@ -101,7 +102,15 @@ public class ImageLoader { public void clearCache() { nowPlaying = null; - cache.evictAll(); + new SilentBackgroundTask<Void>(context) { + @Override + protected Void doInBackground() throws Throwable { + clearingCache = true; + cache.evictAll(); + clearingCache = false; + return null; + } + }.execute(); } private Bitmap getUnknownImage(MusicDirectory.Entry entry, int size) { |