diff options
| -rw-r--r-- | graphics/java/android/graphics/Bitmap.java | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/graphics/java/android/graphics/Bitmap.java b/graphics/java/android/graphics/Bitmap.java index e07471cd64bc..6d31578ac020 100644 --- a/graphics/java/android/graphics/Bitmap.java +++ b/graphics/java/android/graphics/Bitmap.java @@ -128,22 +128,6 @@ public final class Bitmap implements Parcelable { private static final WeakHashMap<Bitmap, Void> sAllBitmaps = new WeakHashMap<>(); /** - * @hide - */ - private static NativeAllocationRegistry getRegistry(boolean malloc, long size) { - final long free = nativeGetNativeFinalizer(); - if (com.android.libcore.Flags.nativeMetrics()) { - Class cls = Bitmap.class; - return malloc ? NativeAllocationRegistry.createMalloced(cls, free, size) - : NativeAllocationRegistry.createNonmalloced(cls, free, size); - } else { - ClassLoader loader = Bitmap.class.getClassLoader(); - return malloc ? NativeAllocationRegistry.createMalloced(loader, free, size) - : NativeAllocationRegistry.createNonmalloced(loader, free, size); - } - } - - /** * Private constructor that must receive an already allocated native bitmap * int (pointer). */ @@ -167,6 +151,7 @@ public final class Bitmap implements Parcelable { mWidth = width; mHeight = height; mRequestPremultiplied = requestPremultiplied; + mNinePatchChunk = ninePatchChunk; mNinePatchInsets = ninePatchInsets; if (density >= 0) { @@ -174,9 +159,17 @@ public final class Bitmap implements Parcelable { } mNativePtr = nativeBitmap; - final int allocationByteCount = getAllocationByteCount(); - getRegistry(fromMalloc, allocationByteCount).registerNativeAllocation(this, mNativePtr); + final int allocationByteCount = getAllocationByteCount(); + NativeAllocationRegistry registry; + if (fromMalloc) { + registry = NativeAllocationRegistry.createMalloced( + Bitmap.class.getClassLoader(), nativeGetNativeFinalizer(), allocationByteCount); + } else { + registry = NativeAllocationRegistry.createNonmalloced( + Bitmap.class.getClassLoader(), nativeGetNativeFinalizer(), allocationByteCount); + } + registry.registerNativeAllocation(this, nativeBitmap); synchronized (Bitmap.class) { sAllBitmaps.put(this, null); } |