//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(); }}
//完全复制原创如作者看到及时联系