RequestQueue requestQueue = Volley.newRequestQueue(context); Log.e("图片网址", list.get(position).getImage()); // 此处的new Cache()是下面的匿名内部类 ImageLoader imageLoader = new ImageLoader(requestQueue, new Cache()); // 设置图片的网址,同时添加imageLoader,,imageLoader携带缓存功能,和请求功能 // list.get(position).getImage()网址 holder.niv.setImageUrl(list.get(position).getImage(), imageLoader); // imageLoader调用getImageListener方法放置图片 ImageLoader.ImageListener imageListener = imageLoader.getImageListener(holder.niv, R.mipmap.ic_launcher, R.mipmap.ic_launcher_round); // list.get(position).getImage()网址 imageLoader.get(list.get(position).getImage(),imageListener);
//Lru算法
//删除最早,使用频次最少的图片 class Cache implements ImageLoader.ImageCache { private LruCache<String, Bitmap> lruCache; public Cache() { lruCache = new LruCache<String, Bitmap>(1024 * 1024 * 10) { @Override protected int sizeOf(String key, Bitmap value) { // 图片的高宽大小 return value.getHeight() * value.getRowBytes(); } }; } @Override public Bitmap getBitmap(String url) { // 图片加载是自动调用该方法 return lruCache.get(url); } @Override public void putBitmap(String url, Bitmap bitmap) { // 图片加载成功后自定加载该方法 lruCache.put(url, bitmap); } }