FaceBook开源图片加载框架Fresco的学习使用(一), Fresco下载与简单使用
2015-05-16 19:34
736 查看
一、Fresco简介
Fresco是Facebook最新推出的一款用于Android应用中展示图片的强大图片库,可以从网络、本地存储和本地资源中加载图片。之前看大家在QQ群和各个社区都在讨论Fresco,都说性能非常好,心里禁不住诱惑,所以决定尝试一下。前途是光明的,道路是曲折的,Fresco的引入出现各种问题,折腾了我好些时间。Fresco在github上的地址https://github.com/facebook/fresco,把Fresco下载下来,然后解压,要运行Demo看效果先要编译,Fresco用到NDK,所以编译前确保已经将NDK的根目录加入到环境变量之中。首先进入Fresco的根目录,然后双击gradlew.bat,Fresco就开始编译,由于Fresco依赖的库比较多,会下载依赖的库和Gradle工具,如果网络不太好,容易编译失败。
编译完成后,可以导入Android Studio运行Demo看效果了,Demo中不仅有Fresco加载图片的效果,还集成了Glide,Picasso,Universal Image Loader,Volley这些当前比较流行图片加载框架。通过对比,孰优孰劣,一下就看出来了,请看下面的比较
Fresco Volley
UIL Picasso
从上面的比较来看,Fresco加载图片占的内存是先对较小的,而Volley占用的内存最多,UIL和Picasso位于中间位置,两者差别不大。
二、Fresco简单使用
Fresco引入Android Studio很简单,只要在build.gradle文件中的dependencies加上下面一句代码即可:compile 'com.facebook.fresco:fresco:0.5.0+'
引入Eclipse项目会比较麻烦一点,需要将依赖的Library导入Eclipse,依赖的library我上传一份到CSDN,地址http://download.csdn.net/download/jiangxuqaz/8708889,下载解压后添加到工程,注意:imagepipeline-okhttp这个先别添加,不然会有冲突。
添加后效果图片:
Fresco的使用:
首先需要在AndroidManifest.xml中声访问网络的权限:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
然后再Application中的onCreate方法里面中初始化Fresco:
Fresco.initialize(this);
注意:如果放在Activity中初始化,一点要在setContentView前面调用,因为XML中会用到Fresco的自定义View。
在最顶层的布局文件中加上命名空间,这样可以使用Fresco自定义的一些属性:
xmlns:fresco="http://schemas.android.com/apk/res-auto"
在布局文件中加上SimpleDraweeView,用来显示图片
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:fresco="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <com.facebook.drawee.view.SimpleDraweeView android:id="@+id/network_image_view" android:layout_width="200dp" android:layout_height="200dp" android:layout_gravity="center_horizontal" /> </RelativeLayout>
在Activity中:
Fresco.initialize(this); setContentView(R.layout.activity_main); String url="http://ww4.sinaimg.cn/large/90bd89ffjw1eqvmd6o8r6j20go0p5ju2.jpg"; Uri uri = Uri.parse(url); SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(R.id.network_image_view); draweeView.setImageURI(uri);
这样就可以简单的加载网络图片了。
相关文章推荐
- 用Facebook开源框架Frescok加载网络图片的简单使用
- Android UI-开源框架ImageLoader完美使用+listview加载网络图片与下载
- Fresco图片加载框架一些简单使用
- Fresco(Facebook开源的android项目)图片缓存框架的eclipse整合与使用探索(较详细配置说明)
- Fresco-Facebook的图片加载框架的使用
- Fresco 图片加载框架的简单使用
- Android 图片加载开源框架Fresco,基于各种使用场景的讲解
- IOS学习之路二十三(EGOImageLoading异步加载图片开源框架使用)
- IOS学习之路二十三(EGOImageLoading异步加载图片开源框架使用)
- Android使用开源框架加载图片
- Android使用开源框架加载图片
- FaceBook推出的开源图片加载库,fresco
- 网络请求----简单框架使用------(百度图片下载实例)
- Android Fresco (Facebook开源的图片加载管理库)
- 【光速使用开源框架系列】图片加载框架ImageLoader
- Fresco图片加载框架使用经验小结
- 简单实现的自定义圆环进度条,可使用于文件的上传下载图片加载等地方.
- Fresco的基本使用和各种属性的含义,Fresco加载图片框架
- 强大的 Fresco(加载网络和本地图片)简单使用
- Fresco图片加载框架使用方法完全指南