Что такое UI Thread

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

Ответ

UI Thread (главный поток) — это основной поток приложения Android, отвечающий за обработку пользовательского интерфейса и событий. Все операции, связанные с отрисовкой UI (изменение View, анимации, обработка кликов), должны выполняться в этом потоке.

Проблема: Долгие операции (сеть, БД, сложные вычисления) на UI Thread приводят к "зависаниям" (ANR).

Решение: Используйте фоновые потоки (Coroutines, RxJava, AsyncTask) для тяжелых задач, а затем возвращайте результат в UI Thread:

lifecycleScope.launch(Dispatchers.IO) {
    val data = fetchData() // Фоновая операция
    withContext(Dispatchers.Main) {
        updateUI(data) // Обновление UI в главном потоке
    }
}