Можешь перечислить различные виды корутин и объяснить их особенности?

В Kotlin для Android существуют разные виды корутин, которые отличаются по контексту и способу запуска:

Короткий ответ

Что ответить на собеседовании

В Kotlin для Android существуют разные виды корутин, которые отличаются по контексту и способу запуска:

Подробный разбор

Ответ с пояснениями

В Kotlin для Android существуют разные виды корутин, которые отличаются по контексту и способу запуска:

  • GlobalScope — корутины, живущие столько же, сколько приложение. Использовать осторожно, чтобы избежать утечек памяти.
  • CoroutineScope — область видимости для корутин, обычно связанная с жизненным циклом компонента (например, Activity или ViewModel).
  • launch — запускает корутину, не блокируя текущий поток, возвращает Job.
  • async — запускает корутину и возвращает Deferred, который можно использовать для получения результата с помощью await.

Особенности:

  • Корутины позволяют писать асинхронный код последовательно.
  • Они могут быть отменены, что важно для управления ресурсами.
  • Используют диспетчеры (Dispatchers) для выбора потока выполнения (Main, IO, Default).

Пример:

CoroutineScope(Dispatchers.Main).launch {
    val data = withContext(Dispatchers.IO) {
        // Долгая операция, например, запрос к сети
        fetchData()
    }
    updateUI(data)
}

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку