From 636c5cbdab57c958a6c9c8d358a4a462fdfdddd9 Mon Sep 17 00:00:00 2001 From: Ibrahim Yilmaz Date: Wed, 24 May 2023 09:09:37 +0000 Subject: [PATCH] Use HYPHENATION_FREQUENCY_FULL_FAST Usage BREAK_STRATEGY_HIGH_QUALITY and HYPHENATION_FREQUENCY_FULL penaltised 2.5 times in Text calculations. HYPHENATION_FREQUENCY_FULL should resolve bad performance. TLDR; a combination of {highQuality, Balanced}x{HyhpnationNormal, HyphnationFull} causes a bad performance on Text. Bug: 269125657 Test: Code Review & checking stacktrace. Change-Id: I07be68508145b87598ad2408e697e1f6c6edfd8f --- .../java/com/android/internal/widget/ImageFloatingTextView.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/java/com/android/internal/widget/ImageFloatingTextView.java b/core/java/com/android/internal/widget/ImageFloatingTextView.java index 2695b9c7651fe..1ac5e1f12bfa3 100644 --- a/core/java/com/android/internal/widget/ImageFloatingTextView.java +++ b/core/java/com/android/internal/widget/ImageFloatingTextView.java @@ -82,7 +82,7 @@ public class ImageFloatingTextView extends TextView { .setIncludePad(getIncludeFontPadding()) .setUseLineSpacingFromFallbacks(true) .setBreakStrategy(Layout.BREAK_STRATEGY_HIGH_QUALITY) - .setHyphenationFrequency(Layout.HYPHENATION_FREQUENCY_FULL); + .setHyphenationFrequency(Layout.HYPHENATION_FREQUENCY_FULL_FAST); int maxLines; if (mMaxLinesForHeight > 0) { maxLines = mMaxLinesForHeight;