Какие знаешь типы корутин

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

Ответ

Корутины в Kotlin можно разделить на несколько типов:

  1. Строители корутин (Coroutine Builders) - функции для запуска корутин:
launch { } // запуск без результата
async { } // запуск с возвратом Deferred<T>
runBlocking { } // блокирующий запуск (для тестов/main)
  1. Контексты корутин (Coroutine Contexts):
  • Dispatchers (IO, Default, Main, Unconfined)
  • Job (управление жизненным циклом)
  • CoroutineName (именование для дебага)
  • CoroutineExceptionHandler (обработка ошибок)
  1. Области видимости (Coroutine Scopes):
  • GlobalScope (не рекомендуется)
  • CoroutineScope (рекомендуемый способ)
  • viewModelScope, lifecycleScope (из AndroidX)
  1. Состояния корутин:
  • Active (работает)
  • Completing (завершается)
  • Cancelled (отменена)
  • Completed (успешно завершена)