CoroutineScope e ciclo de vida
Associe o trabalho assíncrono compartilhado ao scope correto e cancele-o
CoroutineScope e ciclo de vida é uma aula grátis de Kotlin Multiplatform Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Kotlin Multiplatform Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Kotlin Multiplatform Academy inclui 4 aulas no total.
As Corrotinas Precisam de um Lar
Toda corrotina pertence a um CoroutineScope. O escopo determina por quanto tempo o trabalho pode existir e quando deve parar.
Por que o Escopo Equivale ao Ciclo de Vida
Associe um escopo a uma tela ou sessão. Quando esse elemento termina, o escopo cancela suas corrotinas para que nenhum trabalho seja executado sobre uma interface que já não existe.
launch Inicia o Trabalho
Inicie uma corrotina com launch em um escopo. Ela executa o bloco e o acompanha como parte desse escopo.
scope.launch { refresh() }Crie um Escopo no Código Compartilhado
Crie um com um Job e um distribuidor. Esse escopo compartilhado pode conduzir o trabalho assíncrono de um ViewModel usado pelos dois aplicativos.
val scope = CoroutineScope(SupervisorJob() + Dispatchers.Main)SupervisorJob Isola as Falhas
Um SupervisorJob impede que um filho com falha cancele os irmãos. Uma requisição com problema não encerrará a tela inteira.
Cancele para Limpar
Chame cancel quando o proprietário deixar de existir. As corrotinas de rede ou de temporizador pendentes param imediatamente, evitando vazamentos e atualizações indevidas.
fun onCleared() { scope.cancel() }O Cancelamento é Cooperativo
As corrotinas verificam o cancelamento nos pontos de suspensão. Suas funções de suspensão param corretamente, por isso raramente é necessário usar sinalizadores manuais.
O Android já Fornece um
No Android, um ViewModel já oferece viewModelScope. Ele é cancelado automaticamente quando o ViewModel é limpo, então reutilize-o.
viewModelScope.launch { load() }O iOS Exige Cancelamento Manual
No iOS, não há um escopo automático. Mantenha seu escopo compartilhado e chame cancel a partir do Swift quando a tela desaparecer. 📱
Nunca Use GlobalScope
Evite o GlobalScope: ele vive para sempre e ignora os ciclos de vida. Suas corrotinas vazam e podem atualizar telas que já não existem.
Defina o Escopo e Depois Esqueça
Escolha o escopo correto uma vez, e o cancelamento será automático. Escopos conscientes do ciclo de vida mantêm o trabalho assíncrono compartilhado seguro nas duas plataformas. 🎯
Verificação Rápida
Vamos confirmar como os escopos protegem suas corrotinas.
Recapitulação
Aprendeu que um CoroutineScope associa o trabalho assíncrono a um ciclo de vida: launch o inicia, cancel faz a limpeza e você evita o GlobalScope. 🎉
Aprenda Kotlin com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 30
- Aulas
- 120
Perguntas Frequentes
A aula “CoroutineScope e ciclo de vida” é grátis?
Sim — o texto completo de “CoroutineScope e ciclo de vida” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Kotlin Multiplatform Academy, atualize para CoddyKit PRO. O curso de Kotlin Multiplatform Academy inclui 4 aulas no total.
O que vou aprender em “CoroutineScope e ciclo de vida”?
Associe o trabalho assíncrono compartilhado ao scope correto e cancele-o Você pratica Kotlin Multiplatform Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Kotlin Multiplatform Academy?
Nenhuma experiência prévia é necessária. Kotlin Multiplatform Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “CoroutineScope e ciclo de vida”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Kotlin Multiplatform Academy?
Sim. Cada aula de Kotlin Multiplatform Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Funções suspend que funcionam em todos os lugares
- Dispatchers em todas as plataformas
- CoroutineScope e ciclo de vida
- withContext e concorrência estruturada