Kotlin 协程中的 Dispatchers.Main 和 Dispatchers.Default 有什么区别?
我使用 viewModelScope.launch {}
并按预期在 UI 线程上执行启动块。然后我发现它默认为 viewModelScope.launch(Dispatchers.Default) {}
。
这让我有点困惑,因为我认为我应该使用 Dispatchers.Main
在 UI 线程上执行操作。
到目前为止,Android 上的 Dispatchers.Default
看起来默认为 Dispatchers.Main
。是对的吗?
如果我使用一种或另一种或者它们可以互换,是否有任何缺点?如果它们在 Android 上可以互换,如果将来我会添加对 kotlin 多平台的支持,是否会影响某些事情?
最佳答案
不, viewModelScope.launch()
默认为 Dispatchers.Main
。 Google 覆盖了普通的默认 launch()
调度程序,即 Dispatchers.Default
。我建议始终指定调度程序,而不是让人们猜测在哪种情况下使用哪个调度程序。
不,对不起。
关于android - Kotlin 协程中的 Dispatchers.Main 和 Dispatchers.Default 有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59646948/