Ответ
Операции на нескольких потоках в Android необходимы, чтобы избежать блокировки UI (главного потока). Долгие задачи (сеть, БД, вычисления) должны выполняться в фоне, иначе приложение будет "фризить".
Основные подходы:
- Kotlin Coroutines – легковесные потоки с удобным синтаксисом.
- RxJava – реактивное программирование.
- Thread/Executor – классические Java-потоки.
Пример с Coroutines:
lifecycleScope.launch { // UI-поток
val result = withContext(Dispatchers.IO) { // фоновый поток
fetchDataFromNetwork() // долгая операция
}
updateUI(result) // возвращаемся в UI-поток
}
⚠️ Важно: обновлять UI можно только из главного потока!