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
diff --git a/core/java/com/android/internal/widget/ImageFloatingTextView.java b/core/java/com/android/internal/widget/ImageFloatingTextView.java
index 2695b9c..1ac5e1f 100644
--- a/core/java/com/android/internal/widget/ImageFloatingTextView.java
+++ b/core/java/com/android/internal/widget/ImageFloatingTextView.java
@@ -82,7 +82,7 @@
.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;