早先因這篇介紹Fresco文章:得知Fresco,現五一有時間就下來運行看看,順便做個記錄。該文章結尾相關地址提示:Fresco官網+FrescoGitHub託管
大家做圖片異步加載,很多都是用到com.nostra13.universalimageloader:universal-image-loader這個jar包處理,效果不錯,可內存釋放問題還是不夠好。一看到Facebook推出這個Fresco,很是興奮,希望如文章說的那麼強大。現在先體驗下Fresco源碼下提供的smaple的運行效果吧:
從示例中可看到Facebook幫,爲了展示自己Fresco的強大,工程都加入了目前流行的圖片庫,直接進行對比,常用的universal-image-loader也在當中,看來Facebook幫對自家的Fresco圖片庫,還是相當自信的!
下面具體說說Fresco下載編譯,及sample運行:
1、Fresco下載編譯(基於Win7實踐)
1.1、Fresco下載源碼:
git clone https://github.com/facebook/fresco.git
1.2、FrescoNDK編譯:
上面下載下來的源碼,是Android Studio工程,還需要進行DNK編譯,才能將源碼下smaple官方樣例直接載入成功運行。所以下面說說具體編譯:
需要做好以下配置:
1.2.1、下載Android SDK(若已有,只需配置好即可),然後配置好環境變量(下面採用編譯過程提示的一種配置方法:增加ANDROID_HOME環境變量,指明SDK路徑)配置如下圖(剛配置可能需要重啓才生效):
1.2.2、下載安裝NDK(需要android-ndk-r10d版本)。
然後進行以下配置:在Fresco源碼根目錄下,打開gradle.properties文件,在最後添加上NDK路徑(下面是本人NDK路徑示例):
ndk.path=D\:\\android-ndk-r10d\\android-ndk-r10d
如下圖:
1.2.3、Win7上編譯是打開CMD,到Fresco源碼根目錄,運行以下命令進行NDK編譯(編譯過程會下載相關jar包等,所以需要翻牆,方便訪問外網下載,你懂的):
gradlew.bat build
1.2.4、編譯成功提示:
1.2.5、編譯過程遇到的錯誤情況(下面這個情況是沒配置好SDK路徑):
編譯過程遇到什麼錯誤都是有提示的,自己根據提示應該都Google解決的。最後得到編譯成功提示。恭喜了!您可以馬上載入Android Studio 體驗官方提供的示例。
2、AndroidStudio運行smaple
若是編譯成功了,AndroidStudio運行smaple就非常簡單了,因爲Fresco本身就是一個AS工程,直接通過AndroidStudio,選擇打開一個已有工程,到Fresco源碼根目錄下,選擇Fresco工程的build.gradle,點擊進行加載運行(如下圖所示):
3、Eclipse運行smaple
現在國外大牛都轉到Android Studio開發,GitHub上新的開源工程都是AS工程。Fresco就是一例。所以還是建議大家用上Android Studio,現在新版本還是不錯的。
由於Fresco官方提供的源碼示例都是AS工程,所以要想載入Eclipse運行,還是要搞一下的:
3.1、從上面說到官方基於Eclipse開發說明中,下載Fresco需要用到的庫:可以直接這裏下載,然後按照官方說明加入Eclipse,供以後開發需要。
3.2、下面會直接提供本人整理出來FrescoSmaple的Eclipse工程版本。大家可以下載加入Eclipse運行,如果工程加入報錯,可能是需要上面提到的庫進行支持,所以具體情況自己看看解決。下面給出本人Eclipse中FrescoSmaple工程結構圖(可以根據源碼對比):
上面提供的工程中,沒有用到fresco庫,關於Smaple需要用源碼下面drawee-backends中的drawee-pipeline及drawee-volley;本人直接從源碼中取出其Java文件,加入到Sample中直接使用,然後通過補上相關的jar包及上面提到的官方提供的工程庫,便能成功運行起Smaple。
3.3、運行Sample後,點擊查看Picasso一項,若是報出如下錯誤,是因爲工程中缺少okio jar包,這個事okhttp下面報錯中需要依賴的包。
最後,由於Fresco整個編譯後的源碼打包過大,CSDN沒能上傳,我就不上傳了,需要的再說吧。
Fresco官方提供的供於Eclipse開發的庫:CSDN下載地址
本人整理出來Fresco源碼中官方示例smaple的Eclipse工程版本:CSDN下載地址