Ответ
Dispatchers.Main предназначен для выполнения задач в основном потоке UI, который всегда один в Android (он же главный поток). Это необходимо, т.к. только этот поток может изменять UI элементы.
Пример:
lifecycleScope.launch(Dispatchers.Main) {
textView.text = "Updated" // Безопасное изменение UI
}
Особенности:
- Гарантирует выполнение в UI потоке
- Позволяет избежать
CalledFromWrongThreadException - Под капотом использует
HandlerилиChoreographerдля планирования задач
Для фоновых операций используйте Dispatchers.IO или Dispatchers.Default.