diff options
| author | 2022-01-25 15:27:50 +0900 | |
|---|---|---|
| committer | 2022-01-25 15:29:08 +0900 | |
| commit | 777d2c26b671f32e136e9e006facdf32d3cda2fd (patch) | |
| tree | c25633cf229e42db2c6e925b96632e31a160b245 | |
| parent | ea85bfc9296df2f2c68a7e0a703ab35457ad3f94 (diff) | |
Recycle TemporaryBuffer for reducing object count
Bug: 216219602
Test: N/A
Change-Id: I1d0ca1719b2ec807249a47201fe62ccd06cf74e5
| -rw-r--r-- | graphics/java/android/graphics/Paint.java | 10 |
1 files 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); + } } } |