学习笔记之——简单使用facebook/fresco库加载res本地静态图片

         由于公司此次开启的项目高清图片比较多,所以项目才启动完成几个界面就总是出现OOM问题,所以老大研究了一下决定从本地静态图加载就开始使用facebook/fresco库。

对facebook/fresco库使用非常熟悉的大神可直接忽略此文,想初步了解facebook/fresco库的小伙伴们可以进来,相信看完定会有一些帮助^_^

进入官网https://github.com/facebook/fresco就可以下载开源项目和查看fresco库的英文文档说明,当然中文文档可以去http://fresco-cn.org/这里看。

       首先我先抄袭一段百度上描述facebook/fresco库的作用来说明一下这个强大的库的好处:(此处建议想了解一下安卓内存分配的小伙伴们可以看一下此链接下的说明http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0402/2683.html)

       fresco是facebook推出的一款强大的android图片处理库,解压后的Bitmap图片占用大量的内存。大的内存占用势必引发更加频繁的GC。在5.0以下,GC将会显著地引发界面卡顿。在5.0以下系统,Fresco将图片放到一个特别的内存区域。当然,在图片不显示的时候,占用的内存会自动被释放。这会使得APP更加流畅,减少因图片内存占用而引发的OOM。Fresco 在低端机器上表现一样出色,你再也不用因图片内存占用而思前想后。

      通过对文档的阅读可知fresco库的url可以有多种形式,其中包括本地项目res文件夹下的图片,这我就放心了。其实认真把文档看完之后,这个库用起来也不会太难,特别是拿来加载本地图片。

      首先,从官方下载库引用到项目中,接下来开始边看文档边敲代码,当然以下方法是我封装好的使用fresco库加载图片的方法,小伙伴们可以直接拿来用:

1.确定一个图片下载地址:

                                             String url = "res:// 项目包名 /" + R.drawable.ic_launcher;

2.private void displayImageFresco(String url, SimpleDraweeView draweeView) {
Uri uri = Uri.parse(url);
draweeView.setImageURI(uri);
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri).build();
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setImageRequest(request).setAutoPlayAnimations(true).build();
draweeView.setController(controller);
}

这是封装好的方法,使用的时候直接传一个网址url和控件进来就可以

3.使用:

             displayImageFresco(url, draweeView);


同理如果此处有多张本地图片要下载也可以把图片网址放进数组里面来使用,道理是一样的,只不过是传递网址发生变化而已。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值