利用imageloader去处理图片
public class MusicAdapter extends BaseAdapter {
private List<Music> musics;
private Context context;
private LayoutInflater inflater;
private ImageLoader imageLoader;
private RequestQueue queue;
public MusicAdapter(List<Music> musics, Context context) {
super();
this.musics = musics;
this.context = context;
this.inflater = LayoutInflater.from(context);
queue = Volley.newRequestQueue(context);
imageLoader = new ImageLoader(queue, new BitmapCache());
}
加载图片,设置缓存,适合加载多个图片
holder = (ViewHolder) convertView.getTag();
Music music = getItem(position);
holder.tvName.setText(music.getTitle());
// 使用volley加载图片
ImageListener listener = ImageLoader.getImageListener(holder.ivPic, R.drawable.ic_launcher,
R.drawable.ic_launcher);
imageLoader.get(music.getPic_small(), listener);
return convertView;
设置缓存:把图片先加载在缓存区
public class BitmapCache implements ImageCache {
private LruCache<String, Bitmap> mCache;
public BitmapCache() {
int maxSize = 10 * 1024 * 1024;
mCache = new LruCache<String, Bitmap>(maxSize) {
@Override
protected int sizeOf(String key, Bitmap bitmap) {
return bitmap.getRowBytes() * bitmap.getHeight();
}
};
}
@Override
public Bitmap getBitmap(String url) {
return mCache.get(url);
}
@Override
public void putBitmap(String url, Bitmap bitmap) {
mCache.put(url, bitmap);
}
}