Что есть внутри scope корутины

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

Ответ

Scope корутины — это контекст, в котором выполняется корутина. Он содержит:

  • Job — управляет жизненным циклом корутины (запуск, отмена, завершение).
  • Dispatcher — определяет поток выполнения (Main, IO, Default).
  • CoroutineContext — объединяет Job и Dispatcher, может включать исключения (CoroutineExceptionHandler).

Пример:

val scope = CoroutineScope(Dispatchers.IO + Job())
scope.launch {
    // код корутины
}

При отмене Job (scope.cancel()) все дочерние корутины тоже отменяются. Scope гарантирует структурированную отмену и избегает утечек.