我注意到优化应用程序性能时,Glide必须检查图像是否已经在缓存中。现在来解决这个问题。
它如何工作?
使用下面的代码,我总是会在课程开始时再次保存图像并加载。
所以:
Glide.with(mContext).load(Objects.requireNonNull(user).getImageurl()).donloadOnly(new SimpleTarget <File>(){
@Override
public void onResourceReady(File resource, GlideAnimation<? super File> glideAnimation){
OGGER.debug("Photo downloaded");
}
});
Glide.with(mContext).load(Objects.requireNonNull(user).getImageurl()).diskCacheStrategy(DiskCacheStrategy.SOURCE).into(image_profile);
或:
Glide.with(mContext).load(Objects.requireNonNull(user).getImageurl()).donloadOnly(new SimpleTarget <File>(){
@Override
public void onResourceReady(File resource, GlideAnimation<? super File> glideAnimation){
OGGER.debug("Photo downloaded");
Glide.with(mContext).load(Objects.requireNonNull(user).getImageurl()).diskCacheStrategy(DiskCacheStrategy.SOURCE).into(image_profile);
}
});
Thx。 :)
答案 0 :(得分:0)
正如他们在DOCS中提到的:
默认情况下,Glide在开始新的图像请求之前会检查多层缓存:
我强烈建议您阅读。 https://bumptech.github.io/glide/doc/caching.html#caching-in-glide
要将图像加载到ivImg
(您的ImageView)中,只需执行以下操作:
Glide.with(context)
.load("http://via.placeholder.com/300.png")
.into(ivImg);