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

来源:互联网 发布:视频监控软件免费版 编辑:程序博客网 时间:2024/05/16 15:15

//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();    }}

原创粉丝点击