I would make sure to use the IO dispatcher instead and probably a lifecycle scope.
dan0
joined 2 years ago
That's true, but does your answer on SO pay the bills for running and serving the content?
Seems like too little too late. Unless... there's built in functionally to gaslight me, shut my questions down as duplicates, and tell me I shouldn't be doing something someway without any knowledge of my constraints. Otherwise how would it be any better than the others that were already trained on SO data?
For the dispatchers, the docs do a better job explaining then I should try to give, but in short IO is optimized for long running operations, whereas Default is optimized for running more intensive computations.
For the lifecycle scope that's basically it. Fragments, Activities, and ViewModels all have their own variants of this. It's almost always bad practice to have a coroutine not scoped to some form of lifecycle or you could easily end up with a bunch of memory leaks and unreported issues (https://kotlinlang.org/docs/coroutines-basics.html#structured-concurrency).