summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Seigo Nonaka <nona@google.com> 2022-01-25 23:07:38 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-01-25 23:07:38 +0000
commit097af3f2c912d5fba57c25d183beb290fbd17698 (patch)
treeedd737d1d8f4f53bca531e59da2660e8b5a7dd16
parent1a09b387867ea391994a068cecbe3be92b581d81 (diff)
parent777d2c26b671f32e136e9e006facdf32d3cda2fd (diff)
Merge "Recycle TemporaryBuffer for reducing object count"
-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);
+ }
}
}