一、来源
二、简介
Fresco是Facebook开源Android平台上一个强大的图片加载库,也是迄今为止Android平台上最强大的图片加载库。
三、特点和优势
以下是一些关键特点:
Ø 内存管理优化:内存自动回收:Fresco 使用了高效的内存管理机制,在图片不再显示(例如当用户滚动界面导致ImageView不可见)时,会立即释放内存资源,从而降低应用OOM(Out Of Memory)的风险。
Ø 三级缓存体系:双重内存缓存:Fresco 设计了两个级别的内存缓存,一个用于存储已解码的Bitmap,另一个用于存储原始数据。这样可以灵活地在不同场景下高效利用内存。磁盘缓存:除了内存缓存外,还有一级磁盘缓存,以提高复用率和加载速度,减少网络请求
Ø 渐进式加载:类似网页上的图像加载方式,Fresco 支持图片的渐进式加载,即先加载低质量的缩略图或基础框架,然后逐步加载高分辨率内容,提升用户体验。
Ø 流式处理与格式支持:对多帧动画图片如GIF和WebP格式提供了良好的支持,包括对这些格式进行流式处理,而不是一次性加载整个文件到内存中。
Ø 组件设计:提供了SimpleDraweeView组件来替代Android原生的ImageView,这个组件内置了Fresco的高级功能,比如占位符、失败图以及加载进度提示等。
Ø 性能优越:在内存管理和渲染效率上做了深度优化,尤其适合于大量图片展示的应用场景。
综上所述,Fresco 是一款专为高性能图片加载而设计的库,特别关注内存使用效率、加载速度和丰富的功能集,适用于需要处理大量图片及复杂加载场景的Android应用。
四、实现
1. 添加依赖:在build.gradle文件中添加依赖
2. 初始化
3. 网络请求的权限,如果使用本地图片则不需要网络权限
4. 加入命名空间
5. 加入SimpleDraweeView
6. 开始加载图片