高级Lesson1--Picasso
github地址:http://square.github.io/picasso/
Picasso不仅实现了图片异步加载的功能,还解决了android中加载图片时需要解决的一些常见问题:
1.在adapter中需要取消已经不在视野范围的ImageView图片资源的加载,否则会导致图片错位,Picasso已经解决了这个问题。
2.使用复杂的图片压缩转换来尽可能的减少内存消耗
3.自带内存和硬盘二级缓存功能
Picasso库的引入:
1.在线搜索picasso库,加入到gradle再同步即可引入picasso库
基本使用:
加载本地图片,并做压缩和旋转:
/加载本地图片
加载网络图片,并设置不使用内存缓存中查找也不存储内存缓存,对于本地缓存,如果用okhttp,可以设这两者,如果是默认的downloader,只能设置NO_CACHE:
//加载网络图片
设置占位图片:
github地址:http://square.github.io/picasso/
Picasso不仅实现了图片异步加载的功能,还解决了android中加载图片时需要解决的一些常见问题:
1.在adapter中需要取消已经不在视野范围的ImageView图片资源的加载,否则会导致图片错位,Picasso已经解决了这个问题。
2.使用复杂的图片压缩转换来尽可能的减少内存消耗
3.自带内存和硬盘二级缓存功能
Picasso库的引入:
1.在线搜索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