summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/cache
diff options
context:
space:
mode:
authorRuben Brunk <rubenbrunk@google.com>2013-02-22 21:58:33 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-02-22 21:58:33 +0000
commitf3e14d196191672129e2897e25627cc41f5f6534 (patch)
tree1d1988c2a26ce72a6caa9a50441aecc1853b70a9 /src/com/android/gallery3d/filtershow/cache
parentab893207b973361784ee1b57533134765a897627 (diff)
parent5ebc5b3bc483b6c16aab9138995bb83f81ffc0c1 (diff)
downloadandroid_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.java11
-rw-r--r--src/com/android/gallery3d/filtershow/cache/ImageLoader.java10
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();