Fresco-Facebook开源的图片加载组件

仰翰采
2023-12-01

Fresco是Facebook开源的图片加载组件;

参考:

1. Fresco官方网站:https://www.fresco-cn.org/

2. Fresco的github网址:https://github.com/facebook/fresco

3. Fresco的官方demo:https://github.com/liaohuqiu/fresco-demo-for-gradle

4. Fresco基于Chris Banes的demo:https://github.com/06peng/FrescoDemo

Fresco的2个模块:

     1. Fresco 中设计有一个叫做 Image Pipeline 的模块。它负责从网络,从本地文件系统,本地资源加载图片。为了最大限度节省空间和CPU时间,它含有3级缓存设计(2级内存,1级磁盘)。

    2.  Fresco 中设计有一个叫做 Drawees 模块,它会在图片加载完成前显示占位图,加载成功后自动替换为目标图片。当图片不再显示在屏幕上时,它会及时地释放内存和空间占用。

Fresco还支持:

  • 渐进式JPEG流式传输
  • 显示动画GIF和WebP
  • 广泛的图像加载和显示定制

优点:

  1. 内存自动回收;图片不可见时,会自动释放所占内存,避免OOM;
  2. 三级缓存机制,两级内存缓存(解码的与未解码的)+一级磁盘缓存,提升加载速度,节省内存占用空间 ;
  3. 支持各种加载场景,提供动态加载、高斯模糊、渐进式加载、先加载小图再加载大图、加载进度等功能;

缺点:

  1. 体积大,较其他图片加载库要大;
  2. 侵入性较强。须使用它提供的SimpleDraweeView来代替ImageView加载显示图片

Fresco配置参考:

参考:https://www.fresco-cn.org/docs/index.html

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 类似资料: