![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0zYtJGa4VlWspFMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLyIzN1ATMyAjM4ITNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
第一次寫專欄,如有表述不好或者了解錯誤的地方,請各位讀者不吝賜教,本人一定虛心接受并第一時間改正。
作為專題第一篇,先從最簡單的開始,順便找找感覺。
Fresco 是 facebook 在今年的 F8 大會上宣布開源的一個用于加載圖檔的庫,它不僅支援多種圖檔檔案格式,而且由于使用了pinned purgeables 技術,使得大圖加載過程中産生OOM的機率大大降低,對開發者來說絕對是一件喜大普奔的事情,對于像天貓HD這樣需要加載大量圖檔的APP來說也絕對是個福音。
下載下傳代碼
首先把源碼從 Github 克隆到本地。
$git clone https://github.com/facebook/fresco.git
clone完畢後的檔案結構目錄如下:
配置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
包。