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
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
package com.android.server.wm;
|
package com.android.server.wm;
|
||||||
|
|
||||||
import static android.graphics.Bitmap.CompressFormat.*;
|
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_WITH_CLASS_NAME;
|
||||||
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
|
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
|
// For snapshots with reduced resolution, do not create or save full sized bitmaps
|
||||||
if (mSnapshot.isReducedResolution()) {
|
if (mSnapshot.isReducedResolution()) {
|
||||||
|
swBitmap.recycle();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -372,6 +374,8 @@ class TaskSnapshotPersister {
|
|||||||
Slog.e(TAG, "Unable to open " + file + " for persisting.", e);
|
Slog.e(TAG, "Unable to open " + file + " for persisting.", e);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
reduced.recycle();
|
||||||
|
swBitmap.recycle();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user