|
|
|
@ -44,13 +44,11 @@ object ImageProvider { |
|
|
|
|
oldBitmap: Bitmap, |
|
|
|
|
newBitmap: Bitmap? |
|
|
|
|
) { |
|
|
|
|
if (evicted) { |
|
|
|
|
oldBitmap.recycle() |
|
|
|
|
putDebug("ImageProvider: trigger bitmap recycle. URI: $key") |
|
|
|
|
putDebug("ImageProvider : cacheUsage ${size()}bytes / ${maxSize()}bytes") |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
*缓存网络图片和epub图片 |
|
|
|
@ -90,7 +88,7 @@ object ImageProvider { |
|
|
|
|
// inJustDecodeBounds如果设置为true,仅仅返回图片实际的宽和高,宽和高是赋值给opts.outWidth,opts.outHeight; |
|
|
|
|
op.inJustDecodeBounds = true |
|
|
|
|
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(op.outWidth, op.outHeight) |
|
|
|
@ -116,7 +114,10 @@ object ImageProvider { |
|
|
|
|
bitmap |
|
|
|
|
}.onFailure { |
|
|
|
|
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()) { |
|
|
|
|
putDebug("ImageProvider: delete xml file. path: ${vFile.absolutePath}") |
|
|
|
|
vFile.delete() |
|
|
|
|