Ответ
Асинхронность — это выполнение операций без блокировки основного потока. В Android это критично, т.к. UI работает в главном потоке, и долгие операции (сеть, БД) должны выполняться асинхронно.
Основные подходы:
- Threads — базовый способ, но сложно управлять
- AsyncTask (устарел) — простой, но с ограничениями
- RxJava — мощный, но сложный
- Coroutines — современное решение (рекомендуется)
Пример с корутинами:
viewModelScope.launch {
val data = withContext(Dispatchers.IO) {
repository.fetchData() // Блокирующий вызов
}
updateUi(data) // Возвращаемся в главный поток
} Видео-ответы
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶