diff options
| author | nicolasroard <nicolasroard@google.com> | 2013-08-15 11:34:26 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2013-08-15 11:34:26 -0700 |
| commit | 5659132a912c730671942dcb00de5a51299c45bf (patch) | |
| tree | 3844eec6739160d60211207e1698ee4fef42b954 | |
| parent | 3cd8b56de6b823a65e54963f5a192144091c2d45 (diff) | |
| parent | c2b0954986b033859be9e8f3278d7a5abedae53f (diff) | |
| download | android_packages_apps_Gallery2-5659132a912c730671942dcb00de5a51299c45bf.tar.gz android_packages_apps_Gallery2-5659132a912c730671942dcb00de5a51299c45bf.tar.bz2 android_packages_apps_Gallery2-5659132a912c730671942dcb00de5a51299c45bf.zip | |
am c2b09549: am f904939a: Fix draw cache issue
* commit 'c2b0954986b033859be9e8f3278d7a5abedae53f':
Fix draw cache issue
| -rw-r--r-- | src/com/android/gallery3d/filtershow/cache/BitmapCache.java | 15 | ||||
| -rw-r--r-- | src/com/android/gallery3d/filtershow/pipeline/CachingPipeline.java | 1 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/com/android/gallery3d/filtershow/cache/BitmapCache.java b/src/com/android/gallery3d/filtershow/cache/BitmapCache.java index bd1130d26..26998783d 100644 --- a/src/com/android/gallery3d/filtershow/cache/BitmapCache.java +++ b/src/com/android/gallery3d/filtershow/cache/BitmapCache.java @@ -49,8 +49,21 @@ public class BitmapCache { list = new ArrayList<WeakReference<Bitmap>>(); mBitmapCache.put(key, list); } + int i = 0; + while (i < list.size()) { + if (list.get(i).get() == null) { + list.remove(i); + } else { + i++; + } + } + for (i = 0; i < list.size(); i++) { + if (list.get(i).get() == null) { + list.remove(i); + } + } if (list.size() < mMaxItemsPerKey) { - for (int i = 0; i < list.size(); i++) { + for (i = 0; i < list.size(); i++) { WeakReference<Bitmap> ref = list.get(i); if (ref.get() == bitmap) { return; // bitmap already in the cache diff --git a/src/com/android/gallery3d/filtershow/pipeline/CachingPipeline.java b/src/com/android/gallery3d/filtershow/pipeline/CachingPipeline.java index 0794277b0..0ff8bfbad 100644 --- a/src/com/android/gallery3d/filtershow/pipeline/CachingPipeline.java +++ b/src/com/android/gallery3d/filtershow/pipeline/CachingPipeline.java @@ -349,7 +349,6 @@ public class CachingPipeline implements PipelineInterface { } setupEnvironment(preset, false); Vector<FilterRepresentation> filters = preset.getFilters(); - mEnvironment.cache(buffer.getProducer()); // the producer bitmap isn't needed anymore Bitmap result = mCachedProcessing.process(mOriginalBitmap, filters, mEnvironment); buffer.setProducer(result); } |
