滑行图像加载神秘地失败

时间:2019-03-15 23:39:02

标签: android kotlin android-glide

我正在Android应用中使用Glide裁剪并缓存bitmap,然后将其发布到我的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:大小为[400x400]的android.graphics.drawable.BitmapDrawable@fb798b8加载失败

     

com.bumptech.glide.load.engine.GlideException类:无法加载资源

Glide没有给我任何原因,堆栈跟踪等信息,可以帮助我找到发生此错误的原因。关于什么原因导致失败的任何想法?

1 个答案:

答案 0 :(得分:0)

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

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