Fresco的使用及注意事项
Fresco的使用及注意事项
添加引用
1.build.gradle添加依赖
compile 'com.facebook.fresco:fresco:0.12.0'
//以下是加载Gif使用,按需添加
compile 'com.facebook.fresco:animated-gif:0.12.0'
2.配置Jni库
根据需要配置需要的jni库,在module的build.gradle中配置
buildTypes {
debug {
ndk {
abiFilters = ["armeabi"]
}
...
}
}
基本使用
1.初始化
在Application中或者MainActivity中调用:
Fresco.initialize(this);
2.加载基本的图片
加载图片一般是给SimpleDraweeView添加Uri,具体的参见Fresco加载图片封装
注意事项
1.列表中加载图片,滚动时请暂停加载.
我们经常在列表中显示图片,为了减少列表的卡顿现象,需要在列表滚动时暂停加载图片,当停止滚动时再恢复加载.
ListView中设置暂停恢复加载:
listView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
switch (scrollState) {
case AbsListView.OnScrollListener.SCROLL_STATE_FLING:
case AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
//ImageLoader.pauseLoader();
if (!Fresco.getImagePipeline().isPaused()) {
Fresco.getImagePipeline().pause();
}
break;
case AbsListView.OnScrollListener.SCROLL_STATE_IDLE:
//ImageLoader.resumeLoader();
if (Fresco.getImagePipeline().isPaused()) {
Fresco.getImagePipeline().resume();
}
break;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
}
});
RecyclerView与ListView类似,请自行设置.
2.图片必须设置为具体尺寸或者match_parent
3.清除缓存
当图片改变时我们需要清除缓存重新加载,可调用Fresco提供的方法.清除缓存分为清除内存缓存和清除磁盘缓存.
public static void clearDiskCache(Uri uri) {
Fresco.getImagePipeline().evictFromDiskCache(uri);
}
public static void clearMemoryCache(Uri uri) {
Fresco.getImagePipeline().evictFromMemoryCache(uri);
}
未完待续...
Fresco还在使用中,此文会随着使用更新注意事项.
Fresco的使用及注意事项的更多相关文章
- Android之图片加载框架Fresco基本使用(一)
PS:Fresco这个框架出的有一阵子了,也是现在非常火的一款图片加载框架.听说内部实现的挺牛逼的,虽然自己还没研究原理.不过先学了一下基本的功能,感受了一下这个框架的强大之处.本篇只说一下在xml中 ...
- 8.4.2 Fresco
Fresco是Facebook公司的黑科技:http://fresco-cn.org/ 真三级缓存,变换后的BItmap(内存),变换前的原始图片(内存),硬盘缓存.在内存管理上做到了极致.对于重度图 ...
- Fresco
1.简介 Fresco是Facebook最新推出的一款用于Android应用中展示图片的强大图片库,可以从网络.本地存储和本地资源中加载图片.相对于ImageLoader,拥有更快的图片下载速度以及可 ...
- 【Android - 框架】之Fresco的使用
当下有很多图片加载框架,常见的有Glide.Fresco.Picasso等.Glide因为其体积小.缓存机制强大等优点,受到了广大程序员的青睐:Fresco虽然体积比较大,缓存机制也没有Glide强大 ...
- Android必知必会-发布开源 Android 项目注意事项
如果移动端访问不佳,请使用 –> Github版 1. 合理配置 .gitignore 文件 配置 .gitignore 可以排除一些非必要文件和保护保密信息,下面是在项目根目录下 .gitig ...
- jQuery UI resizable使用注意事项、实时等比例拉伸及你不知道的技巧
这篇文章总结的是我在使用resizable插件的过程中,遇到的问题及变通应用的奇思妙想. 一.resizable使用注意事项 以下是我在jsfiddle上写的测试demo:http://jsfiddl ...
- Windows Server 2012 NIC Teaming介绍及注意事项
Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...
- TODO:Golang指针使用注意事项
TODO:Golang指针使用注意事项 先来看简单的例子1: 输出: 1 1 例子2: 输出: 1 3 例子1是使用值传递,Add方法不会做任何改变:例子2是使用指针传递,会改变地址,从而改变地址. ...
- app开发外包注意事项,2017最新资讯
我们见过很多创业者,栽在这app外包上.很多创业者对于app外包这件事情不是特别重视,以为将事情交给app外包公司就完事了,实际上不是的.无论是从选择app外包公司还是签订合同.售后维护等各方面都有许 ...
随机推荐
- 04 JVM是如何执行方法调用的(下)
虚方法调用 Java 里所有非私有实例方法调用都会被编译成 invokevirtual 指令,而接口方法调用会被编译成 invokeinterface 指令.这两种指令,均属于 Java 虚拟机中的虚 ...
- Leetcode 592.分数加减运算
分数加减运算 给定一个表示分数加减运算表达式的字符串,你需要返回一个字符串形式的计算结果. 这个结果应该是不可约分的分数,即最简分数. 如果最终结果是一个整数,例如 2,你需要将它转换成分数形式,其分 ...
- 【译】从现有的容器里创建新的Docker镜像
如果你修改了一个容器的内容,你可以使用docker commit命令将现有的容器状态保存为一个镜像. 下面的例子展示了如何修改一个基于oraclelinux:6.6的容器使得其能够运行Apache H ...
- BZOJ 1087:[SCOI2005]互不侵犯King(状压DP)
[SCOI2005]互不侵犯King [题目描述] 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子 ...
- 人类基因(human)
题目描述 上了大学之后,小W和小Z一起报了一门三宝课,在实践课上遇到了一些问题. 一条染色体上有nn对基因,每种基因都可以用一个数ai来表示,作为标号. 现在,在其中一条染色单体上某基因发生了突变. ...
- Codeforces Round #321 (Div. 2) B 二分+预处理
B. Kefa and Company time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- [暑假集训--数论]poj1061 青蛙的约会
Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事 ...
- 在vue中使用Element-UI
Element-UI是一套基于Vue2.0的UI组件库,http://element.eleme.io/#/zh-CN/component/carousel 首先npm install element ...
- Java数据结构-------Set
三种常用Set:HashSet.LinkedHashSet.TreeSet set类继承关系: 概述 Set是对对应Map的一种封装,Set中的元素不可以重复. HashSet对应 HashMap.L ...
- 洛谷 P1342 请柬
题目描述 在电视时代,没有多少人观看戏剧表演.Malidinesia古董喜剧演员意识到这一事实,他们想宣传剧院,尤其是古色古香的喜剧片.他们已经打印请帖和所有必要的信息和计划.许多学生被雇来分发这些请 ...