Picasso,Fresco,ImageLoader,Glide简介

一、Picasso
Picasso是Square公司开源的一个Android图形缓存库,地址http://square.github.io/picasso/,可以实现图片下载和缓存功能。

compile 'com.squareup.picasso:picasso:2.5.1'

仅仅只需要一行代码就能完全实现图片的异步加载:

Picasso.with(context).load(url).into(ImageView);

优点:
(1) 使用简便,学习成本低
(2) 自带加载时淡入效果,开发起来不费劲.
(3) 图片加载时可在布局中直接设置加载动画等等,代码量大大减少
(4)  内存友好
Picasso不仅实现了图片异步加载的功能,还解决了android中加载图片时需要解决的一些常见问题:
1.在adapter中需要取消已经不在视野范围的ImageView图片资源的加载,否则会导致图片错位,Picasso已经解决了这个问题。
2.使用复杂的图片压缩转换来尽可能的减少内存消耗
3.自带内存和硬盘二级缓存功能
缺点:
1,必须使用fresco自定义的控件,如果需求更换,想要更换其他图片加载框架会有一定的麻烦,比如必须要改布局
2,方法数太多,多达近4k方法,对于比较大的项目来说简直是压死骆驼的最后一个稻草,整项目方法数超过65k,不得不分包.而且打包之后整个项目整整多了3M.确实大得很.
3,必须全套使用fresco的图片加载,否则连获取简简单单的一个缓存中的bitmap都异常费劲
总结:
如果自己的项目不是社交软件,涉及到特别多图片加载的话,还是慎用吧.
当然,在我的印象中,fresco就是你项目中图片加载处理的专业管家,几乎一切繁杂的事情它都帮你处理妥当,用起来简直贴心.
二、Glide

Glide跟Picasso很相似,略有不同,Glide更强大一点。Glide 在缓存策略和加载 gif 方面略胜一筹。内存消耗比Picasso大。
(1) 图片缓存->媒体缓存
(2) 支持优先级处理
(3) 与 Activity/Fragment 生命周期一致,支持 trimMemory
(4) 支持 okhttp、Volley

compile 'com.github.bumptech.glide:glide:3.7.0'

Glide 不仅是一个图片缓存,它支持 Gif、WebP、缩略图。甚至是 Video,所以更该当做一个媒体缓存。
Glide 对每个 context 都保持一个 RequestManager,通过 FragmentTransaction 保持与 Activity/Fragment 生命周期一致,并且有对应的 trimMemory 接口实现可供调用。
Glide 默认通过 UrlConnection 获取数据,可以配合 okhttp 或是 Volley 使用。实际 ImageLoader、Picasso 也都支持 okhttp、Volley。


三、 Fresco
 Fresco是一个强大的图片加载组件。使用它之后,你不需要再去关心图片的加载和显示这些繁琐的事情!官网是如此介绍的。
老规矩,加入以下依赖:

compile 'com.facebook.fresco:fresco:0.5.0+'

四、ImageLoader
优点:
1.支持本地图片和网络图片的多线程异步加载和缓存处理(另外对大图片进行压缩等处理防止内存溢出)
2.个性化的配置自己项目的ImageLoader (配置线程数,缓存空间的大小,路径等)
3.图片加载过程的监听回调
4.自动对加载的图片针对当前剩余内存进行裁剪优化,防止oom
5.较好的控制图片的加载过程,例如暂停图片加载,重新开始加载图片
6.缺点:没有对本地文件压缩处理的相关API方法以及默认都是src模式设置图片,没有针对Background属性开放的api。
简而言之,oom!又是oom!

 









 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

material_无机化学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值