pull/1788/head
kunfei 3 years ago
parent 84d40c2638
commit 9540016c91
  1. 15
      app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt

@ -44,11 +44,9 @@ object ImageProvider {
oldBitmap: Bitmap, oldBitmap: Bitmap,
newBitmap: Bitmap? newBitmap: Bitmap?
) { ) {
if (evicted) { oldBitmap.recycle()
oldBitmap.recycle() putDebug("ImageProvider: trigger bitmap recycle. URI: $key")
putDebug("ImageProvider: trigger bitmap recycle. URI: $key") putDebug("ImageProvider : cacheUsage ${size()}bytes / ${maxSize()}bytes")
putDebug("ImageProvider : cacheUsage ${size()}bytes / ${maxSize()}bytes")
}
} }
} }
@ -90,7 +88,7 @@ object ImageProvider {
// inJustDecodeBounds如果设置为true,仅仅返回图片实际的宽和高,宽和高是赋值给opts.outWidth,opts.outHeight; // inJustDecodeBounds如果设置为true,仅仅返回图片实际的宽和高,宽和高是赋值给opts.outWidth,opts.outHeight;
op.inJustDecodeBounds = true op.inJustDecodeBounds = true
BitmapFactory.decodeFile(file.absolutePath, op) BitmapFactory.decodeFile(file.absolutePath, op)
if (op.outWidth < 1 && op.outHeight < 1) { if (op.outWidth <= 0 && op.outHeight <= 0) {
return Size(errorBitmap.width, errorBitmap.height) return Size(errorBitmap.width, errorBitmap.height)
} }
return Size(op.outWidth, op.outHeight) return Size(op.outWidth, op.outHeight)
@ -116,7 +114,10 @@ object ImageProvider {
bitmap bitmap
}.onFailure { }.onFailure {
Coroutine.async { Coroutine.async {
putDebug("ImageProvider: decode bitmap failed. path: ${vFile.absolutePath}\n$it", it) putDebug(
"ImageProvider: decode bitmap failed. path: ${vFile.absolutePath}\n$it",
it
)
if (FileUtils.readText(vFile.absolutePath).isXml()) { if (FileUtils.readText(vFile.absolutePath).isXml()) {
putDebug("ImageProvider: delete xml file. path: ${vFile.absolutePath}") putDebug("ImageProvider: delete xml file. path: ${vFile.absolutePath}")
vFile.delete() vFile.delete()

Loading…
Cancel
Save