Ответ
TextView может тормозить UI в нескольких случаях:
- Сложная разметка – если текст содержит Spannable, HTML или кастомные стили, рендеринг замедляется.
- Длинный текст – большой объем текста без
maxLinesилиellipsizeтребует больше ресурсов для отрисовки. - Неоптимальные layout-иерархии – вложенность ViewGroup (например, RelativeLayout внутри ConstraintLayout) увеличивает время измерения.
- Частые обновления –
setText()в цикле или анимации без оптимизации.
Пример оптимизации:
textView.post {
textView.text = buildSpannedString {
// Оптимизированное создание Spannable
bold { append("Hello") }
append(" World")
}
}
Используйте TextView с StaticLayout для сложных случаев или PrecomputedTextCompat для фонового вычисления метрик текста.