From 59be089837dff359cb45665443aa56d745f2b436 Mon Sep 17 00:00:00 2001 From: Tim Murray Date: Mon, 15 Oct 2018 16:50:23 -0700 Subject: [PATCH] wm: recycle bitmaps immediately in TaskSnapshotPersister Bitmap created in TaskSnapshotPersister are very short lived and shouldn't be left around in the Java heap. Test: boot, switch apps, works bug 117795621 Exempt-From-Owner-Approval: approved in another branch Merged-in: I4b5e0db50c2b7adaa71cb0d22535c1b37c7523e8 Change-Id: I4b5e0db50c2b7adaa71cb0d22535c1b37c7523e8 --- .../java/com/android/server/wm/TaskSnapshotPersister.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/core/java/com/android/server/wm/TaskSnapshotPersister.java b/services/core/java/com/android/server/wm/TaskSnapshotPersister.java index a642e6ab744ae..99b588f0e2212 100644 --- a/services/core/java/com/android/server/wm/TaskSnapshotPersister.java +++ b/services/core/java/com/android/server/wm/TaskSnapshotPersister.java @@ -17,6 +17,7 @@ package com.android.server.wm; import static android.graphics.Bitmap.CompressFormat.*; + import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; @@ -360,6 +361,7 @@ class TaskSnapshotPersister { // For snapshots with reduced resolution, do not create or save full sized bitmaps if (mSnapshot.isReducedResolution()) { + swBitmap.recycle(); return true; } @@ -372,6 +374,8 @@ class TaskSnapshotPersister { Slog.e(TAG, "Unable to open " + file + " for persisting.", e); return false; } + reduced.recycle(); + swBitmap.recycle(); return true; } }