Недавно изучая, как использовать Kotlin Coroutines, я прочитал несколько соответствующих статей. Но один из них сбивает меня с толку: Coroutines On Android (часть III): Настоящая работа
Как указано:
Примечание: Room использует свое собственный диспетчер для выполнения запросов в фоновом потоке. В вашем коде не следует использовать withContext (Dispatchers.IO) для вызова запросов приостановки комнаты. Это усложнит код и замедлит выполнение ваших запросов.
Это кажется логичным в то время, когда я видел этот абзац, но когда я открываю проект Android и пытаюсь погрузиться в него, появляется проблема, Android Studio предупреждает меня:
функция приостановки 'yourMethod' должна вызываться только из сопрограммы или другой функции приостановки
Я сейчас замерзаю здесь, потому что в статье мне было сказано не использовать withContext(Dispatchers.IO)
. И теперь мне интересно, следует ли мне использовать withContext(Dispatchers.Main)
или GlobalScope.launch
для выполнения моих запросов?