废话不多说,直接上步骤
1.Glide的预加载api是preload
具体用法为:
Glide3
Glide.with(context).load(url).diskCacheStrategy(DiskCacheStrategy.SOURCE).preload(width, height)
Glide4
Glide.with(context).load(url).apply(RequestOptions().diskCacheStrategy(DiskCacheStrategy.RESOURCE)).preload(width,height)
2.需要注意的地方
diskCacheStrategy需要设置为DiskCacheStrategy.SOURCE(或RESOURCE)
预加载和加载都要用这个
加载和预加载时需要设置固定的宽高,并且预加载的宽高要和加载时的宽高一样
预加载:xxx.preload(width,height)
加载时:Glide.with(context).xxx.override(width, height).into(imageView)
3.最后一点优化效果
如果是同一个View加载图片,由于加载过程中,会有一瞬间的黑屏,会使别人以为没有预加载好,所以可以设置默认视图为之前的图片:
加载时:Glide.with(context).xxx.placeholder(imageView.drawable).into(imageView)//java: imageView.getDrawable()