大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
今天开始我们来学习一下Picasso,计划包括以下几方面的内容:
在若羌等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计制作、网站设计 网站设计制作按需设计,公司网站建设,企业网站建设,成都品牌网站建设,全网营销推广,成都外贸网站制作,若羌网站建设费用合理。图片加载利器之Picasso进阶
图片加载利器之Picasso源码解析
目前市场上比较流行的图片加载框架主要有UniversalImageLoader,Picasso,Glide,Fresco。
下面简单介绍一下这几个框架:
UniversalImageLoader:这个可以说是非常非常经典的一个了,相信每个app的开发人员都使用过,只可惜作者已经停止该项目的维护了,所以不太推荐使用。
Picasso:是Square公司出品的图片加载框架,Square出品必出精品,主要特点就是使用简单,扩展性强,支持各种来源的图片,包括网络、Resources、assets、files、content providers等。内部集成了OkHttp的网络框架,所以如果你的项目中使用了Square公司的其他框架,那么推荐使用Picasso,兼容性会好一些。目前在Github上的Star已经达到12758个。
Glide:是Google员工的开源项目,基于Picasso的一个框架,代码风格与Picasso非常相似,增加了更多的功能,非常重要的就是支持gif,当然它的包会大一些。如果你的项目对图片的使用场景非常多,并且需要支持gif,则推荐使用。目前在Github上的Star已经达到13636个。
Fresco:是FB出品的开源框架,比较新,大的优点就是在内存占用上的优化,极大的减少了OOM,功能上也包含了以上三种框架的功能,但是也带来了一个比较明显的缺点就是太大了,所以推荐使用在完全是做图片相关的app上,否则Picasso和Glide就完全够用了。目前在Github上的Star已经达到11983个。
上面主要对各种框架做个简单的介绍,既然是讲解Picasso的,那么接下来看看Picasso都有哪些功能。
1 提供内存和磁盘缓存,默认开启,可以设置不进行缓存
2 图片加载过程中默认显示的图片
3 图片加载失败或出错后显示的图片
4 图片加载成功或失败的回调
5 自定义图片大小、自动测量ImageView大小、裁剪、旋转图片等
6 对图片进行转换
7 标签管理,暂停和恢复图片加载
8 请求优先级管理
9 可以从不同来源加载图片,网络、Resources、assets、files、content providers
10 更加丰富的扩展功能
以上这些功能将会在下面的文章中进行详细讲解。
上面我们提到了Picasso的诸多功能,下面我们来分别演示一下这些功能
配置:
在build.gradle中添加引用
dependencies { ... compile 'com.squareup.picasso:picasso:2.5.2' ... }