diff options
author | Ruben Brunk <rubenbrunk@google.com> | 2013-02-22 21:58:33 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-02-22 21:58:33 +0000 |
commit | f3e14d196191672129e2897e25627cc41f5f6534 (patch) | |
tree | 1d1988c2a26ce72a6caa9a50441aecc1853b70a9 /src/com/android/gallery3d/filtershow/cache | |
parent | ab893207b973361784ee1b57533134765a897627 (diff) | |
parent | 5ebc5b3bc483b6c16aab9138995bb83f81ffc0c1 (diff) | |
download | android_packages_apps_Snap-f3e14d196191672129e2897e25627cc41f5f6534.tar.gz android_packages_apps_Snap-f3e14d196191672129e2897e25627cc41f5f6534.tar.bz2 android_packages_apps_Snap-f3e14d196191672129e2897e25627cc41f5f6534.zip |
Merge "Stopgap fixes for more of the photo editor's memory issues." into gb-ub-photos-bryce
Diffstat (limited to 'src/com/android/gallery3d/filtershow/cache')
-rw-r--r-- | src/com/android/gallery3d/filtershow/cache/FilteringPipeline.java | 11 | ||||
-rw-r--r-- | src/com/android/gallery3d/filtershow/cache/ImageLoader.java | 10 |
2 files changed, 14 insertions, 7 deletions
diff --git a/src/com/android/gallery3d/filtershow/cache/FilteringPipeline.java b/src/com/android/gallery3d/filtershow/cache/FilteringPipeline.java index 7d5b52921..0af406316 100644 --- a/src/com/android/gallery3d/filtershow/cache/FilteringPipeline.java +++ b/src/com/android/gallery3d/filtershow/cache/FilteringPipeline.java @@ -31,7 +31,7 @@ import com.android.gallery3d.filtershow.presets.ImagePreset; public class FilteringPipeline implements Handler.Callback { - private final static FilteringPipeline gPipeline = new FilteringPipeline(); + private static FilteringPipeline sPipeline; private static final String LOGTAG = "FilteringPipeline"; private ImagePreset mPreviousGeometryPreset = null; private ImagePreset mPreviousFiltersPreset = null; @@ -117,7 +117,10 @@ public class FilteringPipeline implements Handler.Callback { } public static FilteringPipeline getPipeline() { - return gPipeline; + if (sPipeline == null) { + sPipeline = new FilteringPipeline(); + } + return sPipeline; } public synchronized void setOriginal(Bitmap bitmap) { @@ -337,4 +340,8 @@ public class FilteringPipeline implements Handler.Callback { public float getPreviewScaleFactor() { return mPreviewScaleFactor; } + + public static void reset() { + sPipeline = null; + } } diff --git a/src/com/android/gallery3d/filtershow/cache/ImageLoader.java b/src/com/android/gallery3d/filtershow/cache/ImageLoader.java index df4f3fd3a..b502a2ffe 100644 --- a/src/com/android/gallery3d/filtershow/cache/ImageLoader.java +++ b/src/com/android/gallery3d/filtershow/cache/ImageLoader.java @@ -62,6 +62,8 @@ import java.io.OutputStream; import java.util.Vector; import java.util.concurrent.locks.ReentrantLock; + +// TODO: this class has waaaay to much bitmap copying. Cleanup. public class ImageLoader { private static final String LOGTAG = "ImageLoader"; @@ -393,15 +395,13 @@ public class ImageLoader { return bmp; } if (bmp != null) { - // TODO: this workaround for RS might not be needed ultimately - Bitmap bmp2 = bmp.copy(Bitmap.Config.ARGB_8888, true); float scaleFactor = imagePreset.getScaleFactor(); imagePreset.setScaleFactor(1.0f); - bmp2 = imagePreset.apply(bmp2); + bmp = imagePreset.apply(bmp); imagePreset.setScaleFactor(scaleFactor); - mZoomCache.setImage(imagePreset, bounds, bmp2); + mZoomCache.setImage(imagePreset, bounds, bmp); mLoadingLock.unlock(); - return bmp2; + return bmp; } } mLoadingLock.unlock(); |