Что такое main поток

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

Ответ

Main поток (UI thread) — это основной поток приложения Android, отвечающий за обработку пользовательского интерфейса и событий. Все операции, связанные с обновлением UI, должны выполняться в этом потоке. Долгие операции (сеть, БД, тяжелые вычисления) нельзя выполнять в main потоке, иначе это приведет к ANR (Application Not Responding).

Пример:

// Правильно — тяжелая операция в фоне
lifecycleScope.launch(Dispatchers.IO) {
    val data = fetchDataFromNetwork()
    withContext(Dispatchers.Main) {
        updateUi(data) // Обновляем UI в main потоке
    }
}