Image-Loader(全)

毛勇
2023-12-01
//先关联
implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
//注意清单文件

public class App extends ChannelApplication {
    @Override
    public void onCreate() {
        super.onCreate();

        String path = Environment.getExternalStorageDirectory().getPath() + "/RiKao13";
        File file = new File(path);

        DisplayImageOptions options = new DisplayImageOptions.Builder()
                .cacheInMemory(true)//让图片进行内存缓存
                .cacheOnDisk(true)//让图片进行sdcard缓存
                .displayer(new CircleBitmapDisplayer())
                /*.showImageForEmptyUri(R.mipmap.ic_empty)//图片地址有误
                .showImageOnFail(R.mipmap.ic_error)//当图片加载出现错误的时候显示的图片
                .showImageOnLoading(R.mipmap.loading)//图片正在加载的时候显示的图片*/
                .build();
        ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this)
                .defaultDisplayImageOptions(options)
                .memoryCacheExtraOptions(200, 200)//配置内存缓存图片的尺寸
                .memoryCacheSize(2 * 1024 * 1024)//配置内存缓存的大小
                .threadPoolSize(3)//配置加载图片的线程数
                .threadPriority(1000)//配置线程的优先级
                .diskCache(new UnlimitedDiskCache(file))//UnlimitedDiskCache 限制这个图片的缓存路径
                .diskCacheFileCount(50)//配置sdcard缓存文件的数量
                .diskCacheFileNameGenerator(new Md5FileNameGenerator())//MD5这种方式生成缓存文件的名字
                .diskCacheSize(50 * 1024 * 1024)//在sdcard缓存50MB
                .build();//完成
        ImageLoader imageLoader=ImageLoader.getInstance();
        imageLoader.init(config);
    }
}
//适配器中
DisplayImageOptions options = new DisplayImageOptions.Builder()
                .cacheInMemory(true)//让图片进行内存缓存
                .cacheOnDisk(true)//让图片进行sdcard缓存
                .displayer(new CircleBitmapDisplayer())
                /*.showImageForEmptyUri(R.mipmap.ic_empty)//图片地址有误
                .showImageOnFail(R.mipmap.ic_error)//当图片加载出现错误的时候显示的图片
                .showImageOnLoading(R.mipmap.loading)//图片正在加载的时候显示的图片*/
                .build();
                ImageLoader.getInstance().displayImage(data.get(position).getPic_url(),vh2.img2,options);
 类似资料: