summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Seigo Nonaka <nona@google.com> 2022-01-25 15:27:50 +0900
committer Seigo Nonaka <nona@google.com> 2022-01-25 15:29:08 +0900
commit777d2c26b671f32e136e9e006facdf32d3cda2fd (patch)
treec25633cf229e42db2c6e925b96632e31a160b245
parentea85bfc9296df2f2c68a7e0a703ab35457ad3f94 (diff)
Recycle TemporaryBuffer for reducing object count
Bug: 216219602 Test: N/A Change-Id: I1d0ca1719b2ec807249a47201fe62ccd06cf74e5
-rw-r--r--graphics/java/android/graphics/Paint.java10
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);
+ }
}
}