Что такое многопоточность в Android

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

Ответ

Многопоточность в Android — это выполнение нескольких потоков одновременно для улучшения производительности и отзывчивости UI. Основной поток (UI Thread) обрабатывает пользовательский интерфейс, а фоновые потоки выполняют долгие операции (сеть, БД, вычисления), чтобы не блокировать UI.

Основные способы работы с многопоточностью:

  1. Thread/Runnable — базовый, но низкоуровневый.
  2. AsyncTask (устарел) — простой, но негибкий.
  3. Handler/Looper — ручное управление сообщениями.
  4. Coroutines (рекомендуется) — легковесные, с отменой и structured concurrency.
  5. RxJava — мощный, но сложный для новичков.

Пример с Coroutines:

lifecycleScope.launch {
    val data = withContext(Dispatchers.IO) { fetchData() } // Фоновый поток
    textView.text = data // UI Thread
}