滑行,线圈不在模拟器中加载图像
Posted
技术标签:
【中文标题】滑行,线圈不在模拟器中加载图像【英文标题】:Glide,coil not loading images in emulator 【发布时间】:2021-10-26 04:46:10 【问题描述】:在我的应用程序中,当我使用真实设备时,一切都按预期工作,并且使用 glide 成功加载了图像,但在模拟器中所有图像都无法加载。
这是我尝试过的:
检查互联网连接
尝试使用 sdk 28 和 30 的模拟器
我加载的图像之一: https://trueexpress-s3.s3.us-east-2.amazonaws.com/small_21305742044_air_freshener_liquid_beads_from_air_fresh_224849_7128b27d67.jpg
这是我使用滑翔加载图像的方式:
@BindingAdapter("imageUrl")
fun ImageView.setImageUrl(url: String?)
if (url == null)
setImageBitmap(null)
return
GlideApp.with(this)
.load(url).into(this)
屏幕截图:
编辑我的日志:
2021-08-26 09:14:45.045 5274-5274/com.trends.trueexpress.debug W/Glide: Load failed for https://trueexpress-s3.s3.us-east-2.amazonaws.com/Untitled_1_copy_a514f5ee8a.jpg with size [532x300]
class com.bumptech.glide.load.engine.GlideException: Failed to load resource
【问题讨论】:
分享您的日志猫详细信息 【参考方案1】:添加滑行部分的代码。
张贴图片网址。希望图片网址是 https 而不是 http。
尝试下面的代码并检查异常。
Glide.with(context).
load(url)
.listener(new RequestListener<String, GlideDrawable>()
@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource)
progressBar.setVisibility(View.GONE);
return false;
@Override
public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource)
progressBar.setVisibility(View.GONE);
return false;
)
.crossFade(1000)
.into(imageView);
【讨论】:
尝试用我上面的代码替换你的滑行代码并打印异常。它将显示详细的原因。顺便说一句,您使用的是哪个版本的滑翔?最新版本? 是的,我试过了,没有抛出异常......我知道这很疯狂,但是当我尝试使用 android 4.2.2 运行同一个模拟器时,一切都按预期工作!!!跨度> 添加你的gradle代码。尝试添加已登录的 onResourceReady?【参考方案2】:您是否在清单文件中添加了互联网权限?
【讨论】:
以上是关于滑行,线圈不在模拟器中加载图像的主要内容,如果未能解决你的问题,请参考以下文章
UIImageView 和 UIButton 背景图像在模拟器中加载时变黑