再基于上一遍博客:https://blog.csdn.net/sunqihui22/article/details/94379568
虽然上一边博客可以正常将内置SD卡中图片文件的显示出来,但是图片一旦多起来,就会很卡浏览器来不通畅。
主要是讲上一篇文章中的
替换为:
//用Glide加载图片
wuRenJiActivity.showImage(pictures.get(position).getImages(),viewHolder.image);
/**
* 显示图片
* @param url
* @param imageView
*/
public void showImage(String url, ImageView imageView) {
if (!TextUtils.isEmpty(url) && url.length() > 0) {
url = url.replaceAll(" ", "");
}
if (TextUtils.isEmpty(url)) {
return;
}
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
Glide.with(this).load(url)
.dontAnimate()
.placeholder(R.drawable.ic_loding)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.error(R.drawable.ic_loding_error)
.into(imageView);
}
所以这里引用Glide第三方jar包加载图片,这样会快很多。
用法如下:
第一步:APP 的build.gradle中引用
implementation 'com.github.bumptech.glide:glide:3.7.0'
第二步,在project的build.gradle中声明maven库,不然glide jar包下载不下来
第三步,直接使用,基本方法为with()、load()、into()
Glide.with(this).load(url) .dontAnimate() .placeholder(R.drawable.ic_loding) .diskCacheStrategy(DiskCacheStrategy.SOURCE) .error(R.drawable.ic_loding_error) .into(imageView);
with()方法:用于创建一个加载图片的实例;
load()方法:用于指定待加载的图片资源
into()方法:我们希望让图片显示在哪个ImageView上,把这个ImageView的实例传进去。
关于Glide具体使用可参考:https://www.jianshu.com/p/4f457a124d67