Что может испортить стабильность интерфейса

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

Ответ

Основные причины нестабильности UI:

  1. Долгие операции в UI-потоке (сеть, БД, сложные вычисления)
// Плохо:
Thread.sleep(2000) // Блокирует UI
// Лучше:
viewModelScope.launch { 
    delay(2000) // Не блокирует
}
  1. Утечки памяти (удержание View в бекграунде)
  2. Чрезмерная вложенность ViewHierarchy (>100 вложений)
  3. Анимации без оптимизации (используйте Hardware acceleration)
  4. Частые обновления RecyclerView/ListView без DiffUtil
  5. Неправильное использование ConstraintLayout (цепочки зависимостей)

Профилируйте с Systrace и устраняйте jank-фреймы.