summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Jurka <mikejurka@google.com>2011-11-30 21:12:09 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2011-11-30 21:12:09 -0800
commitab9d0ab8e361ed53de44fd51be4f404079cc7630 (patch)
treee901c8f2e4b0a6fbca4b57cbd77729355241d7cd
parentff1daea4bfd7cf62f71de99833dd1a58ae153779 (diff)
parent05bf644e371c9d965ba864cf7dda6515c7cdce91 (diff)
downloadandroid_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.java1
-rw-r--r--src/com/android/launcher2/LauncherModel.java5
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.