FrescoSupport使用说明

1、概述

FrescoSupport是基于Facebook开源库Fresco而包装的一个管理类。

2、Fresco简介

Fresco 是一个强大的图片加载组件,它设计有一个叫做 image pipeline 的模块,负责从网络,从本地文件系统,本地资源加载图片。且包含3级缓存机制(2级内存,1级文件)。Drawees 模块负责图片的显示。

2.1 Fresco特性

1、在5.0以下系统,Fresco将图片放到一个特别的内存区域(Ashmem)。当然,在图片不显示的时候,占用的内存会自动被释放。
2、支持渐进式图片格式:先呈现大致的图片轮廓,然后随着图片下载的继续,呈现逐渐清晰的图片。
3、支持加载Gif图,支持WebP格式

2.2 Drawees

Drawees支持的特性如下:

自定义居中焦点(对人脸等图片显示非常有帮助)
圆角图,当然圆圈也行。
下载失败之后,点击重现下载
自定义占位图,自定义overlay, 或者进度条
指定用户按压时的overlay

2.3 image pipeline

image pipeline 的设计,允许用户在多方面控制图片的加载:

为同一个图片指定不同的远程路径,或者使用已经存在本地缓存中的图片
先显示一个低解析度的图片,等高清图下载完之后再显示高清图
加载完成回调通知
对于本地图,如有EXIF缩略图,在大图加载完成之前,可先显示缩略图
缩放或者旋转图片
处理已下载的图片
WebP 支持

2.4 官方文档

官方maven依赖,默认使用第一个依赖就好,使用官网的网络层;第二个依赖用来吧Android网络层替换成OKHttp。

dependencies { compile 'com.facebook.fresco:fresco:0.6.0+' compile 'com.facebook.fresco:imagepipeline-okhttp:0.6.0+' }

Fresco官网文档
Fresco github下载

3 FrescoSupport使用

FrescoSupport相对简单,只是在Fresco上的简单封装。

其中提供了一个Fresco的通用配置类FrescoConfig,一般的使用足够,需要定制的请参考此文件以及Fresco官网。
FrescoManager为静态管理类,提供了一个初始化方法init,默认不带参数的init方法使用上面提供的标准配置文件初始化。当然可以传入一个自己的配置文件ImagePipelineConfig,定制自己特色的初始化需求。

4 FrescoSupport地址

svn地址 http://200.200.200.40/svn/repositories/android/code/trunk/maven/FrescoSupport

maven地址 com.android.common:FrescoSupport:1.0.0

你可能感兴趣的:(图片,Facebook)