一个好用的图片加载库 picasso

github地址

Picasso不仅实现了图片异步加载的功能,还解决了android中加载图片时需要解决的一些常见问题:

  1. 在adapter中需要取消已经不在视野范围ImageView图片资源的加载,否则会导致图片错位,Picasso已经解决了这个问题。
  2. 使用复杂的图片压缩转换来尽可能的减少内存消耗
  3. 自带内存和硬盘二级缓存功能

Picasso库的引入:在线搜索picasso库,加入到gradle再同步即可引入picasso库

  • 加载本地图片,并做压缩和旋转:
//加载本地图片
Picasso.with(this).load("file:///sdcard/Download/ddd.jpg").resize(100,100).rotate(180,0,0).into(mivPic);
  • 加载网络图片,并设置不使用内存缓存中查找也不存储内存缓存,对于本地缓存,如果用okhttp,可以设这两者,如果是默认的downloader,只能设置NO_CACHE:
//加载网络图片
Picasso.with(this). load(mstrNetUrl). //networkPolicy(NetworkPolicy.NO_CACHE,NetworkPolicy.NO_STORE).
memoryPolicy(MemoryPolicy.*NO_CACHE*,MemoryPolicy.*NO_STORE*). into(mivPic);
  • 设置占位图片:
Picasso.with(context)
    .load(url)
    .placeholder(R.drawable.user_placeholder)
    .error(R.drawable.user_placeholder_error)
.into(imageView);

如果加载发生错误会重复三次请求,三次都失败才会显示erro Place holde

你可能感兴趣的:(一个好用的图片加载库 picasso)