[在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.Default){}。
否,viewModelScope.launch()
默认为Dispatchers.Main
。 Google会覆盖普通的默认调度程序Dispatchers.Default
。我建议始终指定调度程序,而不是让人们猜测在哪种情况下使用哪个调度程序。
是吗?
不,对不起。