Dispatcher. Main和Dispatcher.Default在静态编程语言协程中有什么区别?
我使用viewModelScope.启动{}
,并按预期在UI线程上执行启动块。然后我发现它默认为viewModelScope.启动(Dispatcher. Default){}
。
这让我有点困惑,因为我认为我应该使用Dispatcher. Main
在UI线程上执行操作。
到目前为止,AndroidDispatcher. Default
上的默认值为Dispatcher.Main
。对吗?
如果我使用一种或另一种或者它们是可互换的,是否有任何缺点?如果它们在Android上可以互换,如果将来我添加对kotlin多平台的支持,是否会影响某些事情?
然后我发现它默认为viewModelScope.启动(Dispatcher. Default){}。
不,viewModelScope.启动()
默认为Dispatcher. Main.即时
。Google覆盖了普通的默认启动()
调度程序,即Dispatcher.Default
。我建议始终指定调度程序,而不是让人们猜测在什么情况下使用哪个调度程序。