В чем разница между Dispatchers.Main и Dispatchers.Default в Kotlin сопрограммах?
Я использовал viewModelScope.launch {}
, и блок запуска, как и ожидалось, выполняется в потоке пользовательского интерфейса. Затем я обнаружил, что по умолчанию это viewModelScope.launch(Dispatchers.Default) {}
.
. Это немного смутило меня, так как я подумал, что должен использовать Dispatchers.Main
для выполнения операций в потоке пользовательского интерфейса.
Пока что похоже, что на Android Dispatchers.Default
по умолчанию установлено значение Dispatchers.Main
. Это правильно?
Есть ли какие-либо недостатки, если я использую один или другой, или они взаимозаменяемы? Если они взаимозаменяемы на Android, стоит ли на что-то влиять, если в будущем я добавлю поддержку kotlin multiplatform?