pull/2661/head
kunfei 2 years ago
parent 1fbe6914bb
commit c7198c2bcd
  1. 12
      app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt

@ -62,6 +62,16 @@ object ImageProvider {
//putDebug("ImageProvider : cacheUsage ${size()}bytes / ${maxSize()}bytes") //putDebug("ImageProvider : cacheUsage ${size()}bytes / ${maxSize()}bytes")
} }
} }
}
fun getNotRecycled(key: String): Bitmap? {
val bitmap = bitmapLruCache.get(key) ?: return null
if (bitmap.isRecycled) {
bitmapLruCache.remove(key)
return null
}
return bitmap
} }
/** /**
@ -142,7 +152,7 @@ object ImageProvider {
if (!vFile.exists()) return errorBitmap if (!vFile.exists()) return errorBitmap
//epub文件提供图片链接是相对链接,同时阅读多个epub文件,缓存命中错误 //epub文件提供图片链接是相对链接,同时阅读多个epub文件,缓存命中错误
//bitmapLruCache的key同一改成缓存文件的路径 //bitmapLruCache的key同一改成缓存文件的路径
val cacheBitmap = bitmapLruCache.get(vFile.absolutePath) val cacheBitmap = getNotRecycled(vFile.absolutePath)
if (cacheBitmap != null) return cacheBitmap if (cacheBitmap != null) return cacheBitmap
if (height != null && AppConfig.asyncLoadImage && ReadBook.pageAnim() == PageAnim.scrollPageAnim) { if (height != null && AppConfig.asyncLoadImage && ReadBook.pageAnim() == PageAnim.scrollPageAnim) {
Coroutine.async { Coroutine.async {

Loading…
Cancel
Save