您的位置:首页 > 其它

Fresco的初步使用

2016-06-02 11:07 330 查看
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的使用

a8a0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息