Kotlin Multiplatform Academy · Lección

CoroutineScope y ciclo de vida

Vincule el trabajo asíncrono compartido al scope adecuado y cancélelo

Lección 3 de 413 pasos

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. 🎉

Gratis para empezar

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

  1. Funciones suspend que funcionan en todas partes
  2. Dispatchers entre plataformas
  3. CoroutineScope y ciclo de vida
  4. withContext y concurrencia estructurada
← Volver a Kotlin Multiplatform Academy