summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorztenghui <ztenghui@google.com>2013-10-25 14:56:32 -0700
committerztenghui <ztenghui@google.com>2013-10-28 10:57:37 -0700
commite1aa59ba7b3a9fb578995ee8ffcd232c11a97842 (patch)
treeb062bf888c77a242186b6dad3b321fbba845b5b8
parent156ea57cd76cc96c507e3ded946cc9ce48647153 (diff)
downloadandroid_packages_apps_Snap-e1aa59ba7b3a9fb578995ee8ffcd232c11a97842.tar.gz
android_packages_apps_Snap-e1aa59ba7b3a9fb578995ee8ffcd232c11a97842.tar.bz2
android_packages_apps_Snap-e1aa59ba7b3a9fb578995ee8ffcd232c11a97842.zip
Fix memory leak due to inner class for handler.
To keep the existing interface, we just overwrite the handler here. bug:11336965 Change-Id: I77b2f577279244439ee9f81344f47bf5773e527b
-rw-r--r--src/com/android/camera/AndroidCameraManagerImpl.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/com/android/camera/AndroidCameraManagerImpl.java b/src/com/android/camera/AndroidCameraManagerImpl.java
index d9e21fdd0..ac9b7eb4e 100644
--- a/src/com/android/camera/AndroidCameraManagerImpl.java
+++ b/src/com/android/camera/AndroidCameraManagerImpl.java
@@ -814,7 +814,10 @@ class AndroidCameraManagerImpl implements CameraManager {
private CameraOpenErrorCallbackForward(
Handler h, CameraOpenErrorCallback cb) {
- mHandler = h;
+ // Given that we are using the main thread handler, we can create it
+ // here instead of holding onto the PhotoModule objects. In this
+ // way, we can avoid memory leak.
+ mHandler = new Handler(Looper.getMainLooper());
mCallback = cb;
}