Fresco的初步使用

title: Fresco的初步使用
date: 2016-03-15 17:06:32

tags: 開源框架的使用

Fresco 清理圖片緩存 :

            ImagePipeline imagePipeline = Fresco.getImagePipeline();
               //清空內存緩存(包括Bitmap緩存和未解碼圖片的緩存)
               imagePipeline.clearMemoryCaches();
                //清空硬盤緩存,一般在設置界面供用戶手動清理
                  imagePipeline.clearDiskCaches();
                 //同時清理內存緩存和硬盤緩存
                  imagePipeline.clearCaches();
                  //清理特定某張圖片緩存
                 imagePipeline.evictFromCache(uri)

Fresco遇到的問題

1、Fresco使用的時候會產生’x86’, ‘x86_64’, ‘armeabi-v7a’, ‘armeabi’文件,裏面都是兼容各個系統的兼容.so文件。如果有些不需要可以在gradle中使用


 //刪掉不必要的so文件
    splits {
        abi {
            enable true
            reset()
            include 'armeabi'
            universalApk false
        }
    }

來保留特定的文件夾,刪除其他的。

Android Studio, gradle and NDK integration

當你項目中有so文件的時候,如果沒有針對64位的手機做適配那麼該so文件是不會被調用到,因爲Fresco中會生成一個arm64-v8a這種64位的目錄,那麼系統就會只去找尋這個目錄下的so,這樣就會報錯


java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.pba.cosmetics-2base.apk"],nativeLibraryDirectories=[/data/app/com.pba.cosmetics-2/lib/arm64, /vendor/lib64, /system/lib64]]] co

2、Fresco的SimpleDraweeView 可能再有寫控件中不兼容,如ViewFlipper 中的進出動畫。這樣的話可以給SimpleDraweeView 添加個父控件可以解決這個問題。

3、Fresco是放在mavenCentral()中的,所以在使用的時候需要添加


allprojects {
    repositories {
        jcenter()
        mavenCentral()
    }
}

Fresco使用鏈接

Android Image Loader 第三方庫對比測試

Fresco中文使用文檔

詳細圖解Fresco的使用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章