Merge "Fix some "leaks"" into oc-dev
diff --git a/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java b/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java
index 6dde117..0b4498c 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java
@@ -630,6 +630,9 @@
writer.print(prefix); writer.println(TAG);
writer.print(prefix); writer.println("Icon Cache");
mIconCache.dump(innerPrefix, writer);
+ writer.print(prefix); writer.println("Thumbnail Cache");
mThumbnailCache.dump(innerPrefix, writer);
+ writer.print(prefix); writer.println("Temp Thumbnail Cache");
+ mTempCache.dump(innerPrefix, writer);
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java
index 32e3df6..18a9bab 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java
@@ -1711,6 +1711,13 @@
}
}
+ private void clearPrefetchingTask() {
+ if (mPrefetchingTask != null) {
+ Recents.getTaskLoader().unloadTaskData(mPrefetchingTask);
+ }
+ mPrefetchingTask = null;
+ }
+
/**** TaskViewCallbacks Implementation ****/
@Override
@@ -2201,6 +2208,13 @@
if (!event.visible && mTaskViewFocusFrame != null) {
mTaskViewFocusFrame.moveGridTaskViewFocus(null);
}
+ if (!event.visible) {
+ List<TaskView> taskViews = new ArrayList<>(getTaskViews());
+ for (int i = 0; i < taskViews.size(); i++) {
+ mViewPool.returnViewToPool(taskViews.get(i));
+ }
+ clearPrefetchingTask();
+ }
}
public void reloadOnConfigurationChange() {