Почему TextView может тормозить UI

«Почему TextView может тормозить UI» — вопрос из категории UI и Views, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

TextView может тормозить UI в нескольких случаях:

  1. Сложная разметка – если текст содержит Spannable, HTML или кастомные стили, рендеринг замедляется.
  2. Длинный текст – большой объем текста без maxLines или ellipsize требует больше ресурсов для отрисовки.
  3. Неоптимальные layout-иерархии – вложенность ViewGroup (например, RelativeLayout внутри ConstraintLayout) увеличивает время измерения.
  4. Частые обновленияsetText() в цикле или анимации без оптимизации.

Пример оптимизации:

textView.post {
    textView.text = buildSpannedString {
        // Оптимизированное создание Spannable
        bold { append("Hello") }
        append(" World")
    }
}

Используйте TextView с StaticLayout для сложных случаев или PrecomputedTextCompat для фонового вычисления метрик текста.