协程作用域 :
GlobalScope : 该作用域是 进程级别的 , 与应用进程同级 , 即使 Activity 被销毁 , 协程任务也可以继续执行 ;
MainScope : 该 作用域仅在 Activty...中 , 如果 Activity 被销毁 , 则 在 onDestory 生命周期函数中取消协程任务 ;
viewModelScope : 该作用与仅在 ViewModel 中使用 , 与 ViewModel...是一个 函数 , 其返回值类型为 CoroutineScope 协程作用域 ; 这是使用了设计模式中的 工厂模式 , 生产一个 协程作用域 实例对象 ; 之后的 协程操作都要定义在该协程作用域中 ;...Log.i("MainActivity", "GlobalScope : 主线程更新 UI")
}
如果在 协程作用域 中 , 执行一个挂起函数 , 如 delay 函数 , 则可以不用 Dispatchers.IO...CoroutineScope 的 launch 扩展函数
launch {
// 协程作用域, 在该代码块中执行协程任务
// Dispatchers.IO