Junior — Middle
Qual é o objetivo de usar CoroutineScope em Kotlin e qual é o seu papel na gestão de corutinas?
sobes.tech IA
Resposta da IA
CoroutineScope em Kotlin serve para gerir o ciclo de vida das corutinas. Ele define o âmbito em que as corutinas são executadas e permite controlar a sua cancelamento e término.
Principais tarefas do CoroutineScope:
- Agrupamento de corutinas: todas as corutinas lançadas num mesmo escopo estão relacionadas.
- Gestão do ciclo de vida: ao cancelar o escopo, todas as corutinas dentro dele são automaticamente canceladas, ajudando a evitar fugas de memória e execuções não controladas.
Exemplo de uso:
val scope = CoroutineScope(Dispatchers.Main)
scope.launch {
// código da corutina
}
// Mais tarde, pode-se cancelar todas as corutinas no escopo
scope.cancel()
No Android, frequentemente usam-se lifecycleScope ou viewModelScope, que são cancelados automaticamente ao destruir o componente correspondente (Activity, ViewModel).