diff options
| author | 2022-01-25 23:07:38 +0000 | |
|---|---|---|
| committer | 2022-01-25 23:07:38 +0000 | |
| commit | 097af3f2c912d5fba57c25d183beb290fbd17698 (patch) | |
| tree | edd737d1d8f4f53bca531e59da2660e8b5a7dd16 | |
| parent | 1a09b387867ea391994a068cecbe3be92b581d81 (diff) | |
| parent | 777d2c26b671f32e136e9e006facdf32d3cda2fd (diff) | |
Merge "Recycle TemporaryBuffer for reducing object count"
| -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); + } } } |