【发布时间】:2020-04-26 01:17:23
【问题描述】:
Kotlin 协程中 Dispatchers.Main 和 Dispatchers.Default 有什么区别?
我使用了viewModelScope.launch {},并按预期在 UI 线程上执行了启动块。然后我发现它默认为viewModelScope.launch(Dispatchers.Default) {}。
这让我有点困惑,因为我认为我应该使用 Dispatchers.Main 在 UI 线程上执行操作。
到目前为止,Android 上的 Dispatchers.Default 似乎默认为 Dispatchers.Main。对吗?
如果我使用一种或另一种或它们可以互换,是否有任何缺点?如果它们在 Android 上可以互换,如果将来我将添加对 kotlin 多平台的支持,是否会产生影响?
【问题讨论】:
-
默认其实是
Dispatchers.Main。见here。 This blog post 也这么说。 -
哦,我现在看到了我的错误,我正在查看错误的文档
标签: android kotlin kotlin-coroutines kotlin-android-extensions