android - 滑动图像加载神秘地失败
问题描述
我Glide
在我的 Android 应用程序中使用来裁剪和缓存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
没有给我任何原因、堆栈跟踪等,以帮助我找出发生此错误的原因。关于是什么导致它失败的任何想法?
解决方案
后来我发现了 Glide 图片加载失败的原因。我尝试缓存的图像超出了 Android 应用程序缓存的大小,但没有提供信息性错误。后来,Glide 尝试加载损坏的数据(大小为 0 的图像),但无法加载。
在缓存之前缩小图像(确保它在 Android 应用程序缓存大小限制之下)解决了这个问题。
推荐阅读
- angular - 使用反应形式的离子 5 和 Angular 9 出现错误“无名称的表单控件的值访问器”
- javascript - 使用 InteractJS 拖动多个对象
- c# - 这个协方差相关代码背后的意义是什么?
- grafana - 如何使用 Grafana 获取存储在 InfluxDB 中的计数器类型值的总跨时间值?
- javascript - 如何在 C# 中使用 chart.js 和 Ajax 绘制条形图
- python - 为什么在python中覆盖类方法如此容易?
- typescript - eslint 给出误报
- ios - 创建自定义 UIView 或子 VC
- javascript - 为什么在我的 JS 文件中编写 JS 代码时,我的 JS 滚动功能不起作用?
- encoding - Arduino 中编码器的 X1、X2、X4 编码