diff --git a/app/src/main/java/eu/kanade/tachiyomi/App.kt b/app/src/main/java/eu/kanade/tachiyomi/App.kt index c8edfba3b..bc0bef390 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/App.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/App.kt @@ -72,6 +72,7 @@ import exh.log.XLogLogcatLogger import exh.log.xLogD import exh.log.xLogE import exh.syDebugVersion +import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.drop import kotlinx.coroutines.flow.launchIn @@ -206,6 +207,11 @@ class App : Application(), DefaultLifecycleObserver, ImageLoaderFactory { crossfade((300 * this@App.animatorDurationScale).toInt()) allowRgb565(getSystemService()!!.isLowRamDevice) if (networkPreferences.verboseLogging().get()) logger(DebugLogger()) + + // Coil spawns a new thread for every image load by default + fetcherDispatcher(Dispatchers.IO.limitedParallelism(8)) + decoderDispatcher(Dispatchers.IO.limitedParallelism(2)) + transformationDispatcher(Dispatchers.IO.limitedParallelism(2)) }.build() }