From 777d2c26b671f32e136e9e006facdf32d3cda2fd Mon Sep 17 00:00:00 2001 From: Seigo Nonaka Date: Tue, 25 Jan 2022 15:27:50 +0900 Subject: Recycle TemporaryBuffer for reducing object count Bug: 216219602 Test: N/A Change-Id: I1d0ca1719b2ec807249a47201fe62ccd06cf74e5 --- graphics/java/android/graphics/Paint.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/graphics/java/android/graphics/Paint.java b/graphics/java/android/graphics/Paint.java index eefad8d0e4de..afd320d48c51 100644 --- a/graphics/java/android/graphics/Paint.java +++ b/graphics/java/android/graphics/Paint.java @@ -2184,9 +2184,13 @@ public class Paint { contextCount, isRtl, outMetrics); } else { char[] buf = TemporaryBuffer.obtain(contextCount); - TextUtils.getChars(text, contextStart, contextStart + contextCount, buf, 0); - nGetFontMetricsIntForText(mNativePaint, buf, start - contextStart, count, 0, - contextCount, isRtl, outMetrics); + try { + TextUtils.getChars(text, contextStart, contextStart + contextCount, buf, 0); + nGetFontMetricsIntForText(mNativePaint, buf, start - contextStart, count, 0, + contextCount, isRtl, outMetrics); + } finally { + TemporaryBuffer.recycle(buf); + } } } -- cgit v1.2.3-59-g8ed1b