Как создать корутину

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

Ответ

В Kotlin корутины создаются с помощью CoroutineScope и билдеров launch или async. Пример:

// Создание корутины в GlobalScope (не рекомендуется для production)
GlobalScope.launch {
    // Код внутри корутины
    delay(1000) // Неблокирующая задержка
    println("Hello from coroutine!")
}

// Рекомендуемый способ - использование scope с жизненным циклом
class MyActivity : AppCompatActivity(), CoroutineScope by MainScope() {
    fun startCoroutine() {
        launch {
            val result = async { fetchData() }.await()
            updateUI(result)
        }
    }

    override fun onDestroy() {
        super.onDestroy()
        cancel() // Отмена всех корутин при уничтожении Activity
    }
}

Ключевые моменты:

  • Используйте Dispatchers для указания потока (Main, IO, Default)
  • launch - для fire-and-forget операций
  • async - для операций с возвращаемым значением
  • Всегда управляйте жизненным циклом корутин