diff options
author | Adam Cohen <adamcohen@google.com> | 2014-10-31 11:48:25 -0700 |
---|---|---|
committer | Danesh M <daneshm90@gmail.com> | 2015-09-27 19:11:07 -0700 |
commit | 0b5f4e2b91f7fc2d8a42fbb96ef84036a92662cd (patch) | |
tree | 3dd54ae322eefbb7ef44bcfa9b92f32f50ad45dd /src/com/android/launcher3/Launcher.java | |
parent | 7dfa47353bacd2149a61cc2261c9a60f2e22825f (diff) | |
download | android_packages_apps_Trebuchet-0b5f4e2b91f7fc2d8a42fbb96ef84036a92662cd.tar.gz android_packages_apps_Trebuchet-0b5f4e2b91f7fc2d8a42fbb96ef84036a92662cd.tar.bz2 android_packages_apps_Trebuchet-0b5f4e2b91f7fc2d8a42fbb96ef84036a92662cd.zip |
Adding a couple memory optimizations to Launcher
-> Always dispose of widget page views when leaving the activity.
These pages hold onto many bitmaps.
-> Clear database cache when leaving the activity.
Bug: 17967108
Change-Id: I10ebaaed14e7cd86f09a9afcabd73043705f21b8
Diffstat (limited to 'src/com/android/launcher3/Launcher.java')
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 75131cbdb..e3b4f952b 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -56,6 +56,7 @@ import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Configuration; import android.content.res.Resources; import android.database.ContentObserver; +import android.database.sqlite.SQLiteDatabase; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; @@ -4112,6 +4113,9 @@ public class Launcher extends Activity if (mSearchDropTargetBar != null) { mSearchDropTargetBar.hideSearchBar(false); } + + // This can hold unnecessary references to views. + mStateAnimation = null; } }); @@ -4441,6 +4445,9 @@ public class Launcher extends Activity } mAppsCustomizeContent.updateCurrentPageScroll(); + + // This can hold unnecessary references to views. + mStateAnimation = null; } }); @@ -4489,8 +4496,16 @@ public class Launcher extends Activity @Override public void onTrimMemory(int level) { super.onTrimMemory(level); - if (level >= ComponentCallbacks2.TRIM_MEMORY_MODERATE) { - mAppsCustomizeTabHost.onTrimMemory(); + if (level >= ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN) { + // The widget preview db can result in holding onto over + // 3MB of memory for caching which isn't necessary. + SQLiteDatabase.releaseMemory(); + + // We reset the apps customize tray in order to + // to free all the memory associated with widget previews + if (mAppsCustomizeTabHost != null) { + mAppsCustomizeTabHost.reset(); + } } } |