diff options
author | Suman Mukherjee <sumam@codeaurora.org> | 2014-06-09 17:17:44 +0530 |
---|---|---|
committer | Suman Mukherjee <sumam@codeaurora.org> | 2014-06-09 17:17:44 +0530 |
commit | bfdbd64ee7e4bbfead91366ccea218258a8ec845 (patch) | |
tree | 53c09ca1531fdd72c8e8080447b55ae6a32cf581 /src/com/android/camera/data/LocalDataList.java | |
parent | 24a14562871c2f3277aadb5b0388ebf5b5e278dd (diff) | |
download | android_packages_apps_Snap-bfdbd64ee7e4bbfead91366ccea218258a8ec845.tar.gz android_packages_apps_Snap-bfdbd64ee7e4bbfead91366ccea218258a8ec845.tar.bz2 android_packages_apps_Snap-bfdbd64ee7e4bbfead91366ccea218258a8ec845.zip |
Camera: Mem-leak
Hprof identified memleak in localdatalist from list and hashmap
Reason: removedata was not getting invoked.
Fix Made: Invoke removedata from ondestroy and onresume of camera activity
Cleanup bitmaps before reallocation on same variable.
CRs-Fixed: 655256
Change-Id: I42d99beb7e493eea2394462ee02cbe956e86c502
Diffstat (limited to 'src/com/android/camera/data/LocalDataList.java')
-rw-r--r-- | src/com/android/camera/data/LocalDataList.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/com/android/camera/data/LocalDataList.java b/src/com/android/camera/data/LocalDataList.java index 3ccc4de54..7e6fc453d 100644 --- a/src/com/android/camera/data/LocalDataList.java +++ b/src/com/android/camera/data/LocalDataList.java @@ -64,6 +64,16 @@ public class LocalDataList { return mUriMap.get(uri); } + public void cleanup() { + if ((mList != null) && (mList.size() > 0)) { + for(int i=0;i<mList.size();i++) { + remove(i); + } + } + mList = null; + mUriMap = null; + } + public void set(int pos, LocalData data) { mList.set(pos, data); mUriMap.put(data.getContentUri(), data); |