Можешь ли перечислить типы областей видимости, используемые в корутинах?
Ответ от нейросети
sobes.tech AI
В Kotlin корутины используют различные области видимости (CoroutineScope), которые определяют жизненный цикл и контекст выполнения корутины. Основные типы областей видимости:
-
GlobalScope — глобальная область, корутины живут пока работает приложение. Используется для задач, которые должны выполняться независимо от жизненного цикла компонентов.
-
CoroutineScope, связанный с жизненным циклом компонента — например, в Android это
lifecycleScopeилиviewModelScope. Корутины автоматически отменяются при уничтожении компонента (Activity, ViewModel), что предотвращает утечки памяти. -
Custom CoroutineScope — можно создавать свои области видимости с определённым контекстом и диспетчером.
Пример использования viewModelScope в Android:
class MyViewModel : ViewModel() {
fun loadData() {
viewModelScope.launch {
// асинхронная загрузка данных
}
}
}
Таким образом, области видимости помогают управлять временем жизни корутин и их контекстом выполнения.