在codeLabs教程(Android -kotlin-带视图的房间(中,他们使用了" viewmodelscope.launch(dispatchers.io("来调用插入方法。它到底是什么,为什么要使用它。参考链接,
https://codelabs.developers.google.com/codelabs/android-room-with-a-view-kotlin/#8
fun insert(word: Word) = viewModelScope.launch(Dispatchers.IO) {
repository.insert(word)
}
viewModelScope
是 CoroutineScope
,与您的ViewModel
绑在一起。这意味着,当ViewModel清除了该范围内部的Coroutines时。
Dispatchers.IO
表示暂停娱乐repository.insert(word)
将在由Kotlin管理的IO线程中运行。
有不同的矛盾。dispatchers.io用于IO工作,例如数据库或远程服务器。dispatchers.default用于具有较高CPU使用的任务。dispatchers.main用于需要更新UI的任务。