summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/Launcher.java
diff options
context:
space:
mode:
authorAdam Cohen <adamcohen@google.com>2014-10-31 11:48:25 -0700
committerDanesh M <daneshm90@gmail.com>2015-09-27 19:11:07 -0700
commit0b5f4e2b91f7fc2d8a42fbb96ef84036a92662cd (patch)
tree3dd54ae322eefbb7ef44bcfa9b92f32f50ad45dd /src/com/android/launcher3/Launcher.java
parent7dfa47353bacd2149a61cc2261c9a60f2e22825f (diff)
downloadandroid_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.java19
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();
+ }
}
}