您的位置:首页 > 移动开发 > Android开发

Android高级Picasso

2016-01-21 10:46 375 查看
高级Lesson1--Picasso

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: