CoroutineScope y ciclo de vida
Vincule el trabajo asíncrono compartido al scope adecuado y cancélelo
CoroutineScope y ciclo de vida es una lección gratuita de Kotlin Multiplatform Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Kotlin Multiplatform Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Kotlin Multiplatform Academy incluye 4 lecciones en total.
Las coroutines necesitan un lugar donde vivir
Cada coroutine pertenece a un CoroutineScope. El scope determina cuánto tiempo puede vivir el trabajo y cuándo debe detenerse.
Por qué el scope equivale al ciclo de vida
Asocie un scope a una pantalla o sesión. Cuando ese elemento termina, el scope cancela sus coroutines para que no se ejecute trabajo sobre una UI que ya no existe.
Launch inicia el trabajo
Inicie una coroutine con launch en un scope. Ejecutará el bloque y lo seguirá como parte de ese scope.
scope.launch { refresh() }Cree un scope en el código compartido
Cree uno con un Job y un dispatcher. Este scope compartido puede gestionar el trabajo asíncrono de un ViewModel que utilizan ambas aplicaciones.
val scope = CoroutineScope(SupervisorJob() + Dispatchers.Main)SupervisorJob aísla los fallos
Un SupervisorJob evita que un hijo fallido cancele a sus hermanos. Una solicitud defectuosa no cerrará toda la pantalla.
Cancele para limpiar
Llame a cancel cuando el propietario desaparezca. Las coroutines pendientes de red o de temporizadores se detienen de inmediato, lo que evita fugas y actualizaciones inesperadas.
fun onCleared() { scope.cancel() }La cancelación es cooperativa
Las corrutinas comprueban la cancelación en los puntos de suspensión. Sus funciones suspend se detienen correctamente, por lo que rara vez necesita flags manuales.
Android se lo ofrece
En Android, un ViewModel ya ofrece viewModelScope. Se cancela automáticamente cuando se elimina el ViewModel, así que puede reutilizarlo.
viewModelScope.launch { load() }iOS requiere cancelación manual
En iOS no existe un scope automático. Debe conservar su scope compartido y cancelarlo desde Swift cuando la vista desaparezca. 📱
No use nunca GlobalScope
Evite GlobalScope: vive para siempre e ignora los ciclos de vida. Sus corrutinas se filtran y pueden actualizar pantallas que ya no existen.
Defina el scope y olvídese
Elija el scope adecuado una sola vez y la cancelación será automática. Los scopes conscientes del ciclo de vida mantienen a salvo el trabajo asíncrono compartido en ambas plataformas. 🎯
Comprobación rápida
Confirmemos cómo los scopes protegen sus corrutinas.
Repaso
Ha aprendido que un CoroutineScope vincula el trabajo asíncrono a un ciclo de vida: launch lo inicia, cancel lo limpia y usted evita GlobalScope. 🎉
Aprende Kotlin con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 30
- Lecciones
- 120
Preguntas frecuentes
¿La lección «CoroutineScope y ciclo de vida» es gratis?
Sí — el texto completo de «CoroutineScope y ciclo de vida» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Kotlin Multiplatform Academy, actualiza a CoddyKit PRO. El curso de Kotlin Multiplatform Academy incluye 4 lecciones en total.
¿Qué aprenderé en «CoroutineScope y ciclo de vida»?
Vincule el trabajo asíncrono compartido al scope adecuado y cancélelo Practicas Kotlin Multiplatform Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Kotlin Multiplatform Academy?
No se requiere experiencia previa. Kotlin Multiplatform Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «CoroutineScope y ciclo de vida»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Kotlin Multiplatform Academy?
Sí. Cada lección de Kotlin Multiplatform Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Funciones suspend que funcionan en todas partes
- Dispatchers entre plataformas
- CoroutineScope y ciclo de vida
- withContext y concurrencia estructurada