协程进阶:上下文 10. 管理 CoroutineScope

本篇解析 example-context-10.kt。探讨如何让协程的生命周期与组件(如 Activity)对齐。

1. 核心概念:手动控制作用域

为了防止内存泄漏,我们必须在 Activity 销毁时停止所有后台任务。

核心步骤:

  1. 创建作用域val mainScope = CoroutineScope(Dispatchers.Main)
  2. 启动协程:使用这个作用域发起的 mainScope.launch { ... }
  3. 统一取消:在 Activity 销毁时调用 mainScope.cancel()

2. 开发者感悟

CoroutineScope 是所有协程的“家”。当 Activity 销毁时,我们“拆掉”这个家,里面所有的子协程都会被自动清理。在现代 Android 开发中,推荐使用 lifecycleScope,它已经帮你自动完成了这一过程。

,