diff options
author | Michael Jurka <mikejurka@google.com> | 2011-11-30 21:12:09 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-11-30 21:12:09 -0800 |
commit | ab9d0ab8e361ed53de44fd51be4f404079cc7630 (patch) | |
tree | e901c8f2e4b0a6fbca4b57cbd77729355241d7cd | |
parent | ff1daea4bfd7cf62f71de99833dd1a58ae153779 (diff) | |
parent | 05bf644e371c9d965ba864cf7dda6515c7cdce91 (diff) | |
download | android_packages_apps_Trebuchet-ab9d0ab8e361ed53de44fd51be4f404079cc7630.tar.gz android_packages_apps_Trebuchet-ab9d0ab8e361ed53de44fd51be4f404079cc7630.tar.bz2 android_packages_apps_Trebuchet-ab9d0ab8e361ed53de44fd51be4f404079cc7630.zip |
am 05bf644e: Fix memory leak in Launcher
* commit '05bf644e371c9d965ba864cf7dda6515c7cdce91':
Fix memory leak in Launcher
-rw-r--r-- | src/com/android/launcher2/Launcher.java | 1 | ||||
-rw-r--r-- | src/com/android/launcher2/LauncherModel.java | 5 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java index f9c7bf070..864fca5be 100644 --- a/src/com/android/launcher2/Launcher.java +++ b/src/com/android/launcher2/Launcher.java @@ -2920,6 +2920,7 @@ public final class Launcher extends Activity final CellLayout layoutParent = (CellLayout) workspace.getChildAt(i); layoutParent.removeAllViewsInLayout(); } + mWidgetsToAdvance.clear(); if (mHotseat != null) { mHotseat.resetLayout(); } diff --git a/src/com/android/launcher2/LauncherModel.java b/src/com/android/launcher2/LauncherModel.java index e2ddf1b49..7da55db6d 100644 --- a/src/com/android/launcher2/LauncherModel.java +++ b/src/com/android/launcher2/LauncherModel.java @@ -176,12 +176,16 @@ public class LauncherModel extends BroadcastReceiver { // Ensure that we don't use the same workspace items data structure on the main thread // by making a copy of workspace items first. final ArrayList<ItemInfo> workspaceItems = new ArrayList<ItemInfo>(sWorkspaceItems); + final ArrayList<ItemInfo> appWidgets = new ArrayList<ItemInfo>(sAppWidgets); mHandler.post(new Runnable() { @Override public void run() { for (ItemInfo item : workspaceItems) { item.unbind(); } + for (ItemInfo item : appWidgets) { + item.unbind(); + } } }); @@ -1229,7 +1233,6 @@ public class LauncherModel extends BroadcastReceiver { } }); - // Unbind previously bound workspace items to prevent a leak of AppWidgetHostViews. final ArrayList<ItemInfo> workspaceItems = unbindWorkspaceItemsOnMainThread(); // Add the items to the workspace. |