Fresco框架的介绍

Fresco介绍

       Fresco是Facebook推出的一款强大的android图片处理库, github地址:https://github.com/facebook/fresco 里面有官方的使用配置文档,而且是中文的,参考文档为Facebook使用手册

       Fresco的原理是,设计了一个ImagePipeline的概念,它负责先后检查内存、磁盘文件,如果没有再老老实实从网络下载图片。

       可以像配置ImageLoader那样配置Fresco中的Image Pipeline,使用ImagePipelineConfig来做这个事情。
       Fresco有三个线程池,其中三个线程用于网络下载图片,2个线程用于磁盘文件的读写,还有两个线程用于CPU       相关操作,比如图片解码、转换,以及放在后台执行的一些费时操作。
Fresco的三层缓存概念,这才是Fresco最核心的技术,他比其他图片SDK吃内存小,就在于这个缓存设计
    第一层:Bitmap缓存
         1:在Android5.0系统中,考虑到内存管理有了很大改进,所以Bitmap缓存位于java堆(heap)中
         2:而在android 4.x和更低的系统,Bitmap缓存位于ashmem中,而不是位于java的堆(heap)中.这意味着
            图片的创建和回收不会引发过多的GC,从而让app运行的更快。当App切换到后台时,Bitmap缓存会被清空。
    第二层:内存缓存
         内存缓存中存储了图片的原始压缩格式。从内存缓存中取出的图片,在显示前必须先解码。
         存缓存也会被清空。
    第三层:磁盘缓存
         磁盘缓存,即本地存储。磁盘缓存中存储的也是图片的原始压缩格式。在使用前先解码,
         在App切换到后台时,磁盘缓存不会丢失,即使关机也不会。

转载于:https://www.cnblogs.com/vegetate/p/9997323.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值