Ответ
Многопоточность в Android — это выполнение нескольких потоков одновременно для улучшения производительности и отзывчивости UI. Основной поток (UI Thread) обрабатывает пользовательский интерфейс, а фоновые потоки выполняют долгие операции (сеть, БД, вычисления), чтобы не блокировать UI.
Основные способы работы с многопоточностью:
- Thread/Runnable — базовый, но низкоуровневый.
- AsyncTask (устарел) — простой, но негибкий.
- Handler/Looper — ручное управление сообщениями.
- Coroutines (рекомендуется) — легковесные, с отменой и structured concurrency.
- RxJava — мощный, но сложный для новичков.
Пример с Coroutines:
lifecycleScope.launch {
val data = withContext(Dispatchers.IO) { fetchData() } // Фоновый поток
textView.text = data // UI Thread
}