ImageLoader缓存图片到SD卡+清除缓存

//MyApplication

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        String path = Environment.getExternalStorageDirectory().getPath() + "/RiKao13";
        File file = new File(path);

        ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this)
                .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.getInstance().init(config);
    }
}
//MainActivity

public class MainActivity extends AppCompatActivity {

    private ImageView imageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //显示当前页面布局
        setContentView(R.layout.activity_main);
        //获取资源ID
        imageView = (ImageView) findViewById(R.id.main_image);
        //缓存
        String path = "http://img4.imgtn.bdimg.com/it/u=2720761512,1992761174&fm=26&gp=0.jpg";
        //自定义配置
                DisplayImageOptions options = new DisplayImageOptions.Builder()
                        .cacheInMemory(true)//让图片进行内存缓存
                        .cacheOnDisk(true)//让图片进行sdcard缓存
                        /*.showImageForEmptyUri(R.mipmap.ic_empty)//图片地址有误
                        .showImageOnFail(R.mipmap.ic_error)//当图片加载出现错误的时候显示的图片
                        .showImageOnLoading(R.mipmap.loading)//图片正在加载的时候显示的图片*/
                        .build();

                //ImageLoader.getInstance().loadImage(path,options,new Ima);//加载图片
                //参数1:加载的图片地址
                //参数2:将图片设置到那个图片控件上面
                //参数3:加载图片配置选项,意思是指明对这张图片的是否进行缓存(内存、sdcard)
                ImageLoader.getInstance().displayImage(path, imageView, options);
    }

    //清除缓存按钮
    public void clearCache(View view){
        //清除缓存的方法
        ImageLoader.getInstance().clearDiskCache();//清除磁盘缓存
        ImageLoader.getInstance().clearMemoryCache();//清除内存缓存
        Toast.makeText(this, "清除缓存成功", Toast.LENGTH_SHORT).show();
    }
}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值