Android图片加载库一、Fresco

 

简述:Fresco是Facebook出品的一个超级强大的开源图片加载库,支持Gif,Webp格式的图片加载,支持渐进式显示等功能。

DevRing & Demo地址https://github.com/LJYcoder/DevRing

学习/参考地址:
https://www.fresco-cn.org/docs/index.html
http://blog.csdn.net/wyb112233/article/details/49637685
http://blog.csdn.net/android_ls/article/details/53137867

优点:
1)内存自动回收。图片不可见时,会及时自动释放所占用的内存,尽可能地避免OOM
2)三级缓存机制。两级内存缓存(解码的与未解码的)+一级磁盘缓存,提升加载速度,节省内存占用空间
3)支持各种加载场景。如动图加载、高斯模糊等常见的图片加载场景。另外还提供了独特的渐进式加载先加载小图再加载大图加载进度等功能(很强大)。

缺点:
1)体积大(很胖)。较其他主流图片库体积要大不少
2)侵入性较强。须使用它提供的SimpleDraweeView来代替ImageView加载显示图片

综合来说,如果你的应用对图片的显示、加载等要求高的话,那就建议使用Fresco。但如果要求没那么高的话就用Glide或其它库吧。关于Fresco与Glide的对比可以参考http://www.jianshu.com/p/6729dc17586b

https://blog.csdn.net/ljy_programmer/article/details/78273267

Fresco 中设计有一个叫做 image pipeline 的模块。它负责从网络,从本地文件系统,本地资源加载图片。为了最大限度节省空间和CPU时间,它含有3级缓存设计(2级内存,1级文件)。Fresco 中设计有一个叫做 Drawees 模块,方便地显示loading图,当图片不再显示在屏幕上时,及时地释放内存和空间占用。Fresco 支持 Android2.3(API level 9) 及其以上系统。(摘自:http://fresco-cn.org/)

有关Fresco的使用教程请绕道:http://fresco-cn.org/docs/index.html#_

Fresco相比其他图片库如PicassoUILGlide相比,所具有的最重要的几个独有特性:

  • 在Android 5.0以下系统,图片不存储在Java heap,而是存储在ashmemheap,中间的字节buffer同样位于native heap。使应用有更多内存空间,降低OOM风险,减少GC次数。
    渐进式的JPEG呈现。
  • 图片可以在任意点进行裁剪,而不是中心,即自定义居中焦点。
  • JPEG可以在native进行resize,避免了在缩小图片时的OOM风险。
  • 支持Gif和WebP。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值