From f2c8c5d66df3cc56ec75167d9d4aa643f4cbfe4e Mon Sep 17 00:00:00 2001 From: FooIbar <118464521+FooIbar@users.noreply.github.com> Date: Sat, 11 Nov 2023 22:24:56 +0800 Subject: [PATCH] Mitigate OOM for API < 26 --- .../eu/kanade/tachiyomi/ui/reader/loader/PageLoader.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/eu/kanade/tachiyomi/ui/reader/loader/PageLoader.kt b/app/src/main/kotlin/eu/kanade/tachiyomi/ui/reader/loader/PageLoader.kt index 76a448898..2bc41bfa0 100644 --- a/app/src/main/kotlin/eu/kanade/tachiyomi/ui/reader/loader/PageLoader.kt +++ b/app/src/main/kotlin/eu/kanade/tachiyomi/ui/reader/loader/PageLoader.kt @@ -4,6 +4,7 @@ import androidx.annotation.CallSuper import androidx.collection.lruCache import com.hippo.ehviewer.image.Image import com.hippo.ehviewer.util.OSUtils +import com.hippo.ehviewer.util.isAtLeastO import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.ui.reader.model.ReaderPage @@ -13,7 +14,11 @@ private const val MIN_CACHE_SIZE = 128 * 1024 * 1024 abstract class PageLoader { private val mImageCache = lruCache( - maxSize = (OSUtils.totalMemory / 16).toInt().coerceIn(MIN_CACHE_SIZE, MAX_CACHE_SIZE), + maxSize = if (isAtLeastO) { + (OSUtils.totalMemory / 16).toInt().coerceIn(MIN_CACHE_SIZE, MAX_CACHE_SIZE) + } else { + (OSUtils.appMaxMemory / 3 * 2).toInt() + }, sizeOf = { _, v -> v.size }, onEntryRemoved = { _, _, o, _ -> o.recycle() }, )