diff options
| author | 2022-06-17 19:29:56 +0000 | |
|---|---|---|
| committer | 2022-06-17 19:29:56 +0000 | |
| commit | fbb13d7bb9bf21517c25cb0ebeec11fefa6bbf88 (patch) | |
| tree | 108cd32b912bb909645ba4e2e2fd6573f821408e | |
| parent | 0a6bc03b73e5aea125219147d5f5b594aeae6be8 (diff) | |
| parent | 1574fbe57cb292b7452162ac70183d6c6ee3694e (diff) | |
Merge "Proactively unparcel bitmaps in MediaMetadata" into tm-dev am: 1574fbe57c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18918926
Change-Id: I6dce5d62fd0acbf23176abc13a03ce3d9660a4f9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | media/java/android/media/MediaMetadata.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/media/java/android/media/MediaMetadata.java b/media/java/android/media/MediaMetadata.java index 9976fa11d177..db5e52a44c8a 100644 --- a/media/java/android/media/MediaMetadata.java +++ b/media/java/android/media/MediaMetadata.java @@ -429,6 +429,15 @@ public final class MediaMetadata implements Parcelable { private MediaMetadata(Parcel in) { mBundle = in.readBundle(); mBitmapDimensionLimit = Math.max(in.readInt(), 1); + + // Proactively read bitmaps from known bitmap keys, to ensure that they're unparceled and + // added to mBundle's internal map. This ensures that the GC accounts for the underlying + // allocations, which it does not do if the bitmaps remain parceled (see b/215820910). + // TODO(b/223225532): Remove this workaround once the underlying allocations are properly + // tracked in NativeAllocationsRegistry. + getBitmap(METADATA_KEY_ART); + getBitmap(METADATA_KEY_ALBUM_ART); + getBitmap(METADATA_KEY_DISPLAY_ICON); } /** |