Как правильно использовать Android Room с Kotlin Coroutines? - PullRequest
2 голосов
/ 26 мая 2020

Недавно изучая, как использовать Kotlin Coroutines, я прочитал несколько соответствующих статей. Но один из них сбивает меня с толку: Coroutines On Android (часть III): Настоящая работа

Как указано:

Примечание: Room использует свое собственный диспетчер для выполнения запросов в фоновом потоке. В вашем коде не следует использовать withContext (Dispatchers.IO) для вызова запросов приостановки комнаты. Это усложнит код и замедлит выполнение ваших запросов.

Это кажется логичным в то время, когда я видел этот абзац, но когда я открываю проект Android и пытаюсь погрузиться в него, появляется проблема, Android Studio предупреждает меня:

функция приостановки 'yourMethod' должна вызываться только из сопрограммы или другой функции приостановки

Я сейчас замерзаю здесь, потому что в статье мне было сказано не использовать withContext(Dispatchers.IO). И теперь мне интересно, следует ли мне использовать withContext(Dispatchers.Main) или GlobalScope.launch для выполнения моих запросов?

...