版权声明:本文为博主原创文章,未经博主允许不得转载。

目录(?)[+]

引入Fresco

dependencies {
// 添加依赖
compile 'com.facebook.fresco:fresco:0.13.0'
}

开始使用 Fresco

1.进行全局初始化,添加网络权限

// 需要在 AndroidManifest.xml 中指定你的 Application 类
// android:name=".MyApplication"
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// onCreate()进行初始化
Fresco.initialize(this);
}
}

2.布局

<!-- 在xml布局文件中, 加入命名空间:-->
xmlns:fresco="http://schemas.android.com/apk/res-auto"

2.1.使用控件SimpleDraweeView(不使用ImageView)

<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/my_image_view"
android:layout_width="130dp"
android:layout_height="130dp"
fresco:placeholderImage="@drawable/my_drawable"
/>

2.2.注意:Drawees 不支持 wrap_content 属性,只能使用固定宽高(xx dp,match_parent),如果想使用wrap_content需要配合viewAspectRatio属性来使用。

<!-- placeholderImage:占位图
placeholderImageScaleType:占位图缩放类型
viewAspectRatio:固定宽高比例
如果希望图片以特定的宽高比例显示,例如 1:1,
fresco:viewAspectRatio="1"
如果是 4:3 则改为1.33
也可以在代码中指定显示比例:
mSimpleDraweeView.setAspectRatio(1.33f); -->
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/my_image_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
fresco:placeholderImage="@drawable/my_drawable"
fresco:placeholderImageScaleType="fitXY"
fresco:viewAspectRatio="1"
/>

3.开始加载图片:

Uri uri = Uri.parse("https://www.baidu.com/img/bd_logo1.png");
SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(R.id.my_image_view);
draweeView.setImageURI(uri);

4.剩下的,Fresco会替你完成:

  • 显示占位图直到加载完成;
  • 下载图片;
  • 缓存图片;
  • 图片不再显示时,从内存中移除;
  • 等等等等。

Fresco的使用<一>的更多相关文章

  1. 强大的图片加载框架Fresco的使用

    前面在卓新科技有限公司实习的时候,在自己的爱吖头条APP中,在图片异步加载的时候和ListView的滑动中,总会出现卡顿,这是因为图片的缓存做的不是足够到位,在项目监理的帮助下,有使用Xutils框架 ...

  2. Android之图片加载框架Fresco基本使用(二)

    PS:最近看到很多人都开始写年终总结了,时间过得飞快,又到年底了,又老了一岁. 学习内容: 1.进度条 2.缩放 3.ControllerBuilder,ControllerListener,Post ...

  3. Fresco从配置到使用(最高效的图片加载框架)

    Frescoj说明:      facebook开源的针对android应用的图片加载框架,高效和功能齐全. 支持加载网络,本地存储和资源图片: 提供三级缓存(二级memory和一级internal ...

  4. Android之图片加载框架Fresco基本使用(一)

    PS:Fresco这个框架出的有一阵子了,也是现在非常火的一款图片加载框架.听说内部实现的挺牛逼的,虽然自己还没研究原理.不过先学了一下基本的功能,感受了一下这个框架的强大之处.本篇只说一下在xml中 ...

  5. Fresco简单的使用—SimpleDraweeView

    本文出处:http://blog.csdn.net/u011164565/article/details/51330778 Fresco是一个第三方库,github官网地址:https://githu ...

  6. 8.4.2 Fresco

    Fresco是Facebook公司的黑科技:http://fresco-cn.org/ 真三级缓存,变换后的BItmap(内存),变换前的原始图片(内存),硬盘缓存.在内存管理上做到了极致.对于重度图 ...

  7. Fresco内存机制(Ashmem匿名共享内存)

    Fresco的内存机制 Fresco是Facebook出品的高性能图片加载库,采用了Ashmem匿名共享内存机制, 来解决图片加载中的OOM问题.这里不对Fresco做深入分析,只关注Fresco在A ...

  8. 开始使用 Fresco

    如果你仅仅是想简单下载一张网络图片,在下载完成之前,显示一张占位图,那么简单使用 SimpleDraweeView 即可. 在加载图片之前,你必须初始化Fresco类.你只需要调用Fresco.ini ...

  9. 引入Fresco

    这里告诉你如何在项目中引入 Fresco. 使用 Android Studio 或者其他 Gradle 构建的项目 编辑 build.gradle 文件: 1 2 3 4 dependencies { ...

  10. Android Studio 引入 Fresco

    首选在build.gradle文件中配置 查看NDK路径 然后在gradle.properties文件中配置 ndk.path=C\:\\Users\\lixishuang\\AppData\\Loc ...

随机推荐

  1. Selenium2用最简xpath查找元素

    什么是xpath? 来自百度百科的解释:XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言.XPath基于XML的树状结构,提供在数据结构树中找寻节点 ...

  2. 《鸟哥的Linux私房菜》学习笔记(2)——Bash特性

    一.shell的基本概念:                               shell 意思是外壳,它是离用户最近的程序.shell提供用户操作系统的接口,我们通过shell将输入的命令与 ...

  3. EOJ Monthly 2018.3

    985月赛我只喜欢ECNU.jpg A. 打工时不可能打工的 Time limit per test: 2.0 seconds Memory limit: 256 megabytes 我 Ayano ...

  4. 防止csrf

    //防csrf攻击 $csrf_hash = md5(uniqid(rand(), TRUE)); set_cookie("my_csrf_name", $csrf_hash, 0 ...

  5. phpstorm 快速插入常用代码片段

  6. 【bzoj4800】[Ceoi2015]Ice Hockey World Championship 折半搜索

    题目描述 有n个物品,m块钱,给定每个物品的价格,求买物品的方案数. 输入 第一行两个数n,m代表物品数量及钱数 第二行n个数,代表每个物品的价格 n<=40,m<=10^18 输出 一行 ...

  7. [luoguP1640] [SCOI2010]连续攻击游戏(二分图最大匹配)

    传送门 我们将每一个属性和物品连边,然后枚举从小到大属性跑匈牙利,直到找不到连边 #include <cstdio> #include <cstring> #include & ...

  8. PHP中的验证码类(验证码功能设计之一)

    <!--vcode.class.php内容--> <?php class Vcode { private $width; //宽 private $height; //高 priva ...

  9. MockMvc详解

    ★  MockMvc - SpringMVC单元测试的独立测试: 一.简介 为何使用MockMvc?         对模块进行集成测试时,希望能够通过输入URL对Controller进行测试,如果通 ...

  10. La 3942 字符串+dp

    题目大意:一个字符串,可以分解成若干英语单词的连接(单词可以重复使用),求有多少种方法? #include<iostream> #include<cstdio> #includ ...