Fresco源码解析 - 本地编译

第一次写专栏,如有表述不好或者理解错误的地方,请各位读者不吝赐教,本人一定虚心接受并第一时间改正。

作为专题第一篇,先从最简单的开始,顺便找找感觉。

Fresco 是 facebook 在今年的 F8 大会上宣布开源的一个用于加载图片的库,它不仅支持多种图片文件格式,而且由于使用了pinned purgeables 技术,使得大图加载过程中产生OOM的概率大大降低,对开发者来说绝对是一件喜大普奔的事情,对于像天猫HD这样需要加载大量图片的APP来说也绝对是个福音。


下载代码

首先把源码从 Github 克隆到本地。

$git clone https://github.com/facebook/fresco.git

clone完毕后的文件结构目录如下:

source tree


配置NDK开发环境

由于 Fresco 用到了C写的图片解码库(下图所示),因此还需要配置NDK的开发环境。

到 Android 官网下载 Android NDK,并配好环境变量。


编译代码

进入 Fresco 源码所在的目录,开始编译。

fresco$./gradlew build

下载 gradle 的 wrapper 可能需要较长的时间,耐心等待一下。


※ 注意报错

编译过程中 Gradle 可能会报错,

unable to expand TAR 'imagepipeline\build\downloads\libjpeg-turbo-1.3.1.tar.gz'

不必惊慌、不必担心,已经有人踩过此坑,只需要把imagepipeline/build目录删掉,重新 build 一下就可以了。


生成aar

编译结束后,每个工程会生成对应的aar包。

aar packages

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值