提问者:小点点

Dispatcher. Main和Dispatcher.Default在静态编程语言协程中有什么区别?


Dispatcher. Main和Dispatcher.Default在静态编程语言协程中有什么区别?

我使用viewModelScope.启动{},并按预期在UI线程上执行启动块。然后我发现它默认为viewModelScope.启动(Dispatcher. Default){}

这让我有点困惑,因为我认为我应该使用Dispatcher. Main在UI线程上执行操作。

到目前为止,AndroidDispatcher. Default上的默认值为Dispatcher.Main。对吗?

如果我使用一种或另一种或者它们是可互换的,是否有任何缺点?如果它们在Android上可以互换,如果将来我添加对kotlin多平台的支持,是否会影响某些事情?


共1个答案

匿名用户

然后我发现它默认为viewModelScope.启动(Dispatcher. Default){}。

不,viewModelScope.启动()默认为Dispatcher. Main.即时。Google覆盖了普通的默认启动()调度程序,即Dispatcher.Default。我建议始终指定调度程序,而不是让人们猜测在什么情况下使用哪个调度程序。