Glide 图片加载神秘失败

Glide image load mysteriously fails

我在我的 Android 应用程序中使用 Glide 来裁剪和缓存一个 bitmap 然后我 post 到我的 API。我用 Anko 处理线程。这是我的代码:

val bitmap=preview_image_view.drawable as BitmapDrawable //I previously used `preview_image_view.setDrawable` to set this image. It shows properly in the debugger!
doAsync{ //an Anko specific thing
    val file= Glide.with(applicationContext).asFile().load(bitmap).apply(RequestOptions().apply{
        diskCacheStrategy(DiskCacheStrategy.RESOURCE)
        centerCrop()
        override()
    }).submit().get() //Mysterious failure on submit()
    uiThread{ //another Anko specific thing
        Fuel.upload(.....

每当我点击 submit() 函数时,我都会收到以下错误

W/Glide: Load failed for android.graphics.drawable.BitmapDrawable@fb798b8 with size [400x400]

class com.bumptech.glide.load.engine.GlideException: Failed to load resource

Glide 没有给出任何原因、堆栈跟踪等来帮助我找到发生此错误的原因。关于导致它失败的原因有什么想法吗?

后来我发现了Glide图片加载失败的原因。我试图缓存的图像超出了 Android 应用程序缓存的大小,但没有提供信息性错误。后来,Glide 尝试加载损坏的数据(大小为 0 的图像),但无法加载。

在缓存之前缩小图像(确保它在 Android 应用程序缓存大小限制之下)解决了这个问题。