在安卓开发过程中难免会遇到下面几个情况:

1、图片异步载入

2、图片缓存

3、图片显示

4、其他……(忘记了)

以上的这些情况,可能要自己去写不少代码去实现这些功能。并且对于一些新手,可能写了半天,发现效果非常不理想、内存问题也处理不好、异步也不好控制(我就是这样)。所以搜了一下。发现网上最流行的一个安卓图片开源框架 universal-image-loader,亲自使用了一下,发现真是的好用啊。一共就加十几行代码就搞定了。妈妈再也不用操心我花时间去瞎搞八搞的了!

好了。以下来说说高速使用这个框架的步骤:

一、往project的libs目录中加入 universal-image-loader-1.9.2-with-sources.jar 这个Jar包。

点击这里能够直接下载哦!

二、新建一个 继承application的类。当中的代码看以下:

public class MyApplication extends Application {
public void onCreate() {
super.onCreate();
initImageLoader(getApplicationContext());
} public static void initImageLoader(Context context) {
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
.threadPriority(Thread.MAX_PRIORITY).denyCacheImageMultipleSizesInMemory()
.diskCacheFileNameGenerator(new Md5FileNameGenerator()).tasksProcessingOrder(QueueProcessingType.LIFO)
.writeDebugLogs() // Remove for release app
.build();
ImageLoader.getInstance().init(config);
} }

注意。这个application类要在menifest中的application标签中注明哦。就是以下这样:

<application

android:name="com.lee.example.MyApplication"

好了,加入完以上两步的内容,主要的框架环境就搭建好了。以下是怎样使用它来载入网络图片:

先声明两个对象:

private DisplayImageOptions
options;

private ImageLoader
imageLoader;

然后在类的构造函数或者activity的increate方法中初始化它们:

imageLoader = ImageLoader.getInstance();

options =
new DisplayImageOptions.Builder()

.showImageOnLoading(null)//载入过程中显示的图片

.showImageForEmptyUri(null)//载入内容为空显示的图片

.showImageOnFail(null)//载入失败显示的图片

.cacheInMemory(true).cacheOnDisk(true).considerExifParams(true)

.bitmapConfig(Bitmap.Config.RGB_565).displayer(new FadeInBitmapDisplayer(388)).build();

以下是使用:

imageLoader.displayImage(imageFile,
imageView, options);

说明:

imageFile:图片的网络路径(也能够用本地的路径哦,详情看文末的框架github中文档说明)

imageView:就是图片控件哈~

就上面这么一句。太方便了哈。

框架的github地址:https://github.com/nostra13/Android-Universal-Image-Loader

小广告:关注微信公众号:“大大花猫” ,它是一个智能聊天机器人,能够回答各种问题,包含查询各种信息哦!

它还能够进行人脸识别,仅仅要发送一张人脸照片,就能够进行识别并回复出各种信息哦!

它还有很多微信网页小游戏哦!还有很多其它精彩功能正在开发中! 快快关注吧!^ ^

安卓图片框架:universal-image-loader的高速使用的更多相关文章

  1. Android 使用图片异步载入框架Universal Image Loader的问题

    使用的Jar包 问题:        optionsm = new DisplayImageOptions.Builder()         .displayer(new RoundedBitmap ...

  2. Android中Universal Image Loader开源框架的简单使用

    UIL (Universal Image Loader)aims to provide a powerful, flexible and highly customizable instrument ...

  3. universal image loader在listview/gridview中滚动时重复加载图片的问题及解决方法

    在listview/gridview中使用UIL来display每个item的图片,当图片数量较多需要滑动滚动时会出现卡顿,而且加载过的图片再次上翻后依然会重复加载(显示设置好的加载中图片) 最近在使 ...

  4. Fresco图片框架内部实现原理探索

    流行的网络框架 目前流行的网络图片框架: Picasso.Universal Image Loader.Volley的(ImageLoader.NetworkImageView).Glide和Fres ...

  5. 开源项目Universal Image Loader for Android 说明文档 (1) 简单介绍

     When developing applications for Android, one often facesthe problem of displaying some graphical ...

  6. universal image loader自己使用的一些感受

    1.全局入口的Application定义初始化: ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Build ...

  7. 【译】UNIVERSAL IMAGE LOADER. PART 3---ImageLoader详解

    在之前的文章,我们重点讲了Android-Universal-Image-Loader的三个主要组件,现在我们终于可以开始使用它了. Android-Universal-Image-Loader有四个 ...

  8. 【Android应用开发】 Universal Image Loader ( 使用简介 | 示例代码解析 )

    作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/50824912 相关地址介绍 : -- Universal I ...

  9. android universal image loader 缓冲原理详解

    1. 功能介绍 1.1 Android Universal Image Loader Android Universal Image Loader 是一个强大的.可高度定制的图片缓存,本文简称为UIL ...

随机推荐

  1. 【javascript 对日期的扩展 Format\addDays】

    // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(H).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占 ...

  2. php正则表达式匹配函数

    <?php function show($var=null){ if(empty($var))  { echo 'null'; }else if(is_array($var) || is_obj ...

  3. js实现form表单提交,图片预览功能

    代码如下 <html> <head> <meta http-equiv="Content-Type" content="text/html; ...

  4. Http权威指南笔记(二) Http状态码大全

    100~199—信息状态码 200~299—成功状态码 客户端发请求时,这些请求通常都是成功的. 300~399—重定向状态码 重定向状态码告知客户端使用代替位置来访问他们所感兴趣的资源. 400~4 ...

  5. JDK8环境变量配置相关问题

    1.右键选择 计算机→属性→高级系统设置→高级→环境变量 2.系统变量→新建 变量名:JAVA_HOME 变量值:(变量值填写你的jdk的安装目录,例如本人是 E:Javajdk1.7.0) 3.在系 ...

  6. Windows计算器使用详解

    (1)Backspace:退格,删除当前输入数字中的最后一位 (2)CE:清除,清除显示的数字. (3)C:归零,清除当前的计算. (4)MC:清除存储器中的数值. (5)MR:将存于存储器中的数显示 ...

  7. win10系统安装 VS 2015 安装包下载

    这个VS2015安装包 我找了好久才找到  能在WIN 10系统下安装 下面分享链接地址给大家: http://www.ithome.com/html/win10/215213.htm

  8. python 多线程爬虫

    最近,一直在做网络爬虫相关的东西. 看了一下开源C++写的larbin爬虫,仔细阅读了里面的设计思想和一些关键技术的实现. 1.larbin的URL去重用的很高效的bloom filter算法: 2. ...

  9. javascript二级联动

    二级联动在一般的网页中随处可见,一般是地址,比如点击浙江省,随后出现的是杭州市,嘉兴市:点击北京省出现的是朝阳,海淀,而不是出现杭州,嘉兴. 要想实现这个步骤,就要用到javascript来实现.其中 ...

  10. SQL字符型字段按数字型字段排序实现方法(转)

    由于是按字母顺序排列,所以123排在了2的前面,显然不符合我们的要求,那么怎样才能按照我们预想的数字顺序排序呢 ORDER BY `meta_value`   那么按得分排序得到的结果可能是:1101 ...