android培训教程-常见的图片加载框架

android培训教程-常见的图片加载框架

ID:9989699

大小:58.00 KB

页数:8页

时间:2018-05-19

android培训教程-常见的图片加载框架_第1页
android培训教程-常见的图片加载框架_第2页
android培训教程-常见的图片加载框架_第3页
android培训教程-常见的图片加载框架_第4页
android培训教程-常见的图片加载框架_第5页
资源描述:

《android培训教程-常见的图片加载框架》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、http://www.moliying.com 图片加载涉及到图片的缓存、图片的处理、图片的显示等。而随着市面上手机设备的硬件水平飞速发展,对图片的显示要求越来越高,稍微处理不好就会造成内存溢出等问题。很多软件厂家的通用做法就是借用第三方的框架进行图片加载。开源框架的源码还是挺复杂的,但使用较为简单。大部分框架其实都差不多,配置稍微麻烦点,但是使用时一般只需要一行,显示方法一般会提供多个重载方法,支持不同需要。这样会减少很不必要的麻烦。同时,第三方框架的使用较为方便,这大大的减少了工作量、提高了开发效率。

2、本文主要介绍四种常用的图片加载框架,分别是Fresco、ImageLoader、Picasso、Glide,包括他们各自的优缺点、使用步骤等等。  首先看Fresco,Fresco是Facebook推出的开源图片缓存工具,主要特点包括:两个内存缓存加上Native缓存构成了三级缓存,支持流式,可以类似网页上模糊渐进式显示图片,对多帧动画图片支持更好,如Gif、WebP。它的优点是其他几个框架没有的,或者说是其他几个框架的短板。  优点:  1.图片存储在安卓系统的匿名共享内存,而不是虚拟机的堆内存中,图片

3、的中间缓冲数据也存放在本地堆内存,所以,应用程序有更多的内存使用,不会因为图片加载而导致oom,同时也减少垃圾回收器频繁调用回收Bitmap导致的界面卡顿,性能更高。  2.渐进式加载JPEG图片,支持图片从模糊到清晰加载。  3.图片可以以任意的中心点显示在ImageView,而不仅仅是图片的中心。  4.JPEG图片改变大小也是在native进行的,不是在虚拟机的堆内存,同样减少OOM。 5.很好的支持GIF图片的显示。   缺点:   1.框架较大,影响Apk体积   2.使用较繁琐   使用步骤:

4、   1.引入Fresco,包括两种方式,在线和离线。   在线引入依赖脚本形式,在dependencies中添加依赖,compile'com.facebook.fresco:fresco:0.9.0'   引入离线引入,需要导入的arr包较多,包括:compile(name:'drawee-0.9.0',ext:'aar')compile(name:'fbcore-0.9.0',ext:'aar')磨砺营IT教育版权所有http://www.moliying.comcompile(name:'image

5、pipeline-0.9.0',ext:'aar')compile(name:'imagepipeline-base-0.9.0',ext:'aar')compilefiles('libs/bolts-android-1.1.4.jar')  上面提到的aar其实就是libmodule压缩包的形式,包括.class和相关的资源文件,平常使用的jar仅仅包括.class文件。使用aar包时,还需要来到project`build.gradle`里面,在allprojects方法体加入   allproject

6、s{      repositories{            jcenter()   //addbegin               flatDir{                  dirs'libs'               }  //addend        }  2.需要在程序入口方法里面进行初始化。在oncreate方法中添加初始化语句。        Fresco.initialize(context);   3.在布局文件中,需要使用图片展示地方,使用它定义的控件 

7、acebook.drawee.view.SimpleDraweeView         android:id="@+id/iv_img"         android:layout_width="150dp"         android:layout_height="150dp"         android:src="@mipmap/ic_launcher"         fresco:fadeDuration="300"         fresco:roundingBorderColor

8、="#ccc"         fresco:roundingBorderWidth="2dp"/>磨砺营IT教育版权所有http://www.moliying.com  4.设置静态图片,在代码中具体写如下代码  //图片加载  Uriuri=Uri.parse(data.url); holder.ivIcon.setImageURI(uri);  5.设置gif图片,在代码中具体写如下代码 DraweeController

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。