Fresco的使用小结

                             Fresco的使用小结(一)

1. Fresco的由来:Facebook 出品的一个强大的图片加载组件

2. Fresco优缺点:

 Facebook 就另辟蹊径,既然没法在 Java 层处理,我们就在更底层的 Native 堆做手脚。于是      Fresco 将图片放到一个特别的内存区域叫 Ashmem 区,就是属于 Native 堆,图片将不再占用 App  的内存,Java 层对此无能为力,这里是属于 C++ 的地盘,所以能大大的减少 OOM。

总结

  优点:支持图像渐进式呈现,大公司出品,后期维护有保障

    缺点:框架体积较大,3M左右会增大apk的大小;操作方式不是特别简单,有一定学习成本

    特点:有两级内存一级文件的缓存机制,并且有自己特别的内存区域来处理缓存,避免oom

Fresco 如何集成:

github 地址:https://github.com/facebook/fresco

在app build.gradle 中配置:implementation'com.facebook.fresco:fresco:1.9.0'

3、基本使用:

//布局:

Fresco的使用小结_第1张图片


XML属性意义

fadeDuration   淡入淡出动画持续时间(单位:毫秒ms)

actualImageScaleType   实际图像的缩放类型

placeholderImage   占位图

placeholderImageScaleType   占位图的缩放类型

progressBarImage   进度图

progressBarImageScaleType  进度图的缩放类型

progressBarAutoRotateInterval  进度图自动旋转间隔时间(单位:毫秒ms)

failureImage  失败图

failureImageScaleType  失败图的缩放类型

retryImage   重试图

retryImageScaleType  重试图的缩放类型

backgroundImage   背景图

overlayImage   叠加图

pressedStateOverlayImage  按压状态下所显示的叠加图

roundAsCircle   设置为圆形图

roundedCornerRadius   圆角半径

roundTopLeft  左上角是否为圆角

roundTopRight   右上角是否为圆角

roundBottomLeft  左下角是否为圆角

roundBottomRight  右下角是否为圆角

roundingBorderWidth  圆形或者圆角图边框的宽度

roundingBorderColor   圆形或者圆角图边框的颜色

roundWithOverlayColor   圆形或者圆角图底下的叠加颜色(只能设置颜色)

viewAspectRatio   控件纵横比

//代码中:Uri uri = Uri.parse(urlStr);

fresco_test.setImageURI(uri);//之后的一切全交给fresco就行了

URIs的使用:

Fresco的使用小结_第2张图片

4.Fresco获取Bitmap代码:

https://www.jianshu.com/p/ec4961133192

Fresco的使用小结_第3张图片

你可能感兴趣的:(Fresco的使用小结)