From 5a73787a3dbf7e698ee036299fc9477eb8e71dfb Mon Sep 17 00:00:00 2001 From: Julian Winkler Date: Mon, 5 Aug 2024 17:10:06 +0200 Subject: [PATCH] VectorDrawable: reference underlying bitmap to prevent garbage collection --- src/api-impl/android/graphics/drawable/VectorDrawable.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/api-impl/android/graphics/drawable/VectorDrawable.java b/src/api-impl/android/graphics/drawable/VectorDrawable.java index 16db3420..b32ed7cf 100644 --- a/src/api-impl/android/graphics/drawable/VectorDrawable.java +++ b/src/api-impl/android/graphics/drawable/VectorDrawable.java @@ -17,6 +17,8 @@ import android.util.AttributeSet; public class VectorDrawable extends Drawable { + private Bitmap bitmap; // prevent garbage collection + public VectorDrawable() { super(); } @@ -52,8 +54,8 @@ public class VectorDrawable extends Drawable { sb.append(""); String svg = sb.toString(); byte[] bytes = svg.getBytes(); - Bitmap bm = BitmapFactory.decodeByteArray(bytes, 0, bytes.length); - this.paintable = bm.getTexture(); + bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length); + this.paintable = bitmap.getTexture(); } @Override