图片加载几种框架

来源:互联网 发布:淘宝网电视 编辑:程序博客网 时间:2024/05/03 13:37

1.universal-image-loader

首先在application中进行相关配置,为了防止图片过大时候滑动卡顿,配置如下:

ImageLoader.getInstance().init(ImageLoaderHelper.getInstance(this).getImageLoaderConfiguration(ApiConstants.Paths.IMAGE_LOADER_CACHE_PATH));
双缓存,内存缓存,加sd卡缓存。具体配置详见项目。

用法:

ImageLoader.getInstance().displayImage(bankList.get(position).getImageUrl(), viewHolder.img);

2.Picasso

as中谷歌自带的图片缓存

用法:

 Picasso.with(context).load(bankList.get(position).getThumbnailUrl()).into(viewHolder.img);
3.fresco

由facebook出的缓存框架,支持圆形图片

application中进行配置

Fresco.initialize(getApplicationContext());

用法:在布局文件中加载它的imageview,然后代码中正常加载即可

 viewHolder.img.setImageURI(Uri.parse(bankList.get(position).getUrl()));
4.volley

bitmapUtils = new BitmapUtils(context,context.getCacheDir().getPath());bitmapUtils.display(viewHolder.img, bankList.get(position).getUrl());

5.Glide

// For a simple view:
@Override
public void onCreate(Bundle savedInstanceState) {
    ...
 
    ImageView imageView = (ImageView) findViewById(R.id.my_image_view);
 
    Glide.with(this).load("http://goo.gl/h8qOq7").into(imageView);
}
 
// For a list:
@Override
public View getView(int position, View recycled, ViewGroup container) {
    final ImageView myImageView;
    if (recycled == null) {
        myImageView = (ImageView) inflater.inflate(R.layout.my_image_view,
                container, false);
    else {
        myImageView = (ImageView) recycled;
    }
 
    String url = myUrls.get(position);
 
    Glide.with(myFragment)
        .load(url)
        .centerCrop()
        .placeholder(R.drawable.loading_spinner)
        .crossFade()
        .into(myImageView);
 
    return myImageView;
}




0 0
原创粉丝点击