开源框架ImageLoader初始化配置

android图片异步加载开源框架Android-Universal-Image-Loader 是一个被广泛应用的框架,Github上的下载路径为:https://github.com/nostra13/Android-Universal-Image-Loader ,用这个框架来帮助我们实现网络图片下载,不用担心OOM等问题,使用方便,我们简单讲下其它初始化配置。

一般而言我们是要全局使用ImageLoader,所以我们可以选择在Application中初始化设置该类。初始化ImageLoader要涉及到两上类ImageLoaderConfiguration和DisplayImageOptions。其中ImageLoaderConfiguration是针对图片缓存的全局配置,主要有线程类、缓存大小、磁盘大小、图片下载与解析、日志方面的配置。DisplayImageOptions 用于设置图片显示的类。

常用配置方法及参数如下:

---------DisplayImageOptions设置-------------------------------------

private DisplayImageOptions options;

options = new DisplayImageOptions.Builder()// 开始构建, 显示的图片的各种格式

.resetViewBeforeLoading(true)// 设置图片在下载前是否重置,复位

.cacheInMemory(true)// 开启内存缓存

.cacheOnDisk(true) // 开启硬盘缓存

.displayer(new RoundedBitmapDisplayer(20))// 是否设置为圆角,弧度为多少;避免使用RoundedBitmapDisplayer.他会创建新的ARGB_8888格式的Bitmap对象;

.displayer(new FadeInBitmapDisplayer(100))// 是否图片加载好后渐入的动画时间

.displayer(new SimpleBitmapDisplayer())// 正常显示一张图片 

.bitmapConfig(Bitmap.Config.RGB_565)// 设置图片的解码类型;使用.bitmapConfig(Bitmap.config.RGB_565)代替ARGB_8888;

.considerExifParams(true)// 是否考虑JPEG图像EXIF参数(旋转,翻转)

.imageScaleType(ImageScaleType.EXACTLY)// 缩放级别

.imageScaleType(ImageScaleType.IN_SAMPLE_INT)//这两种配置缩放都推荐

.build();// 构建完成(参数可以不用设置全,根据需要来配置)

--------------- ImageLoaderConfiguration配置----------------------

private static ImageLoaderConfiguration
config;

config = new ImageLoaderConfiguration.Builder(context)//
开始构建 ,图片加载配置

.threadPriority(Thread.NORM_PRIORITY - 2)// 设置线程优先级

.threadPoolSize(3)// 线程池内加载的数量 ;减少配置之中线程池的大小,(.threadPoolSize).推荐1-5;

.denyCacheImageMultipleSizesInMemory()// 设置加载的图片有多样的

.tasksProcessingOrder(QueueProcessingType.LIFO)// 图片加载任务顺序

.memoryCache(new WeakMemoryCache())//使用.memoryCache(new WeakMemoryCache()),不要使用.cacheInMemory();

.memoryCacheExtraOptions(480, 800) // 即保存的每个缓存文件的最大长宽

.memoryCacheSizePercentage(60)// 图片内存占应用的60%;

.diskCacheFileNameGenerator(new HashCodeFileNameGenerator())//使用HASHCODE对UIL进行加密命名

.diskCacheFileNameGenerator(new Md5FileNameGenerator())// 将保存的时候的URI名称用MD5 加密

.diskCacheSize(50 * 1024 * 1024) // 缓存设置大小为50 Mb

.diskCache(new UnlimitedDiskCache(cacheDir))// 自定义缓存路径

.diskCacheFileCount(100) // 缓存的文件数量

.denyCacheImageMultipleSizesInMemory()// 自动缩放

.imageDownloader(new BaseImageDownloader(context, 5 * 1000, 30 * 1000)) // connectTimeout (5 s), readTimeout (30 s)超时时间

.memoryCacheExtraOptions(480, 800)//设置缓存图片时候的宽高最大值,默认为屏幕宽高;保存的每个缓存文件的最大长宽

.defaultDisplayImageOptions(options)// 如果需要打开缓存机制,需要自己builde一个option,可以是DisplayImageOptions.createSimple()

.writeDebugLogs() // Remove for release app

.build();构建完成(参数可以不用设置全,根据需要来配置)

最后一句话:ImageLoader.getInstance().init(config);初始化完成

-------------------如果我们要在一个ImageView上展示网址url图片-----------------------

ImageLoader.getInstance().displayImage(url,
imageView, options);就可以了

时间: 2024-10-08 01:21:12

开源框架ImageLoader初始化配置的相关文章

Android开源框架ImageLoader:加载图片的三级缓存机制

前言:可从  https://github.com/nostra13/Android-Universal-Image-Loader 下载三级缓存机制的开源框架.下文简单介绍该框架中主要的常用方法,掌握这些方法,基本就可应对多数图片下载的需求. 注意:以下代码为示意代码片断,仔细读一下应能知道怎么用.蓝色表示为开源框架中的类. 1.初始化ImageLoader类对象: ImageLoader imageLoader = ImageLoader.getInstance(); imageLoader.

Android开源框架Image-Loader详解

如果说评价一下哪个图片开源库最被广泛使用的话,我想应该可以说是Universal-Image-Loader,在主流的应用中如 果你随便去反编译几个,基本都能看到他的身影,它就像个图片加载守护者,默默的守护着图片加载.相信很多人对 这个异步加载图片框架还不是很熟,再加上最近它更改优化了好几个地方,而网上的大部分资料还是以前的,于是花 了几天时间专门的研究了下开源框架Universal-Image-Loader(实际上是近期项目刚好用到,且仔细的考虑过各种情 况),希望对新手能有所帮助,也希望大神能

浅析Android 开源框架ImageLoader的用法

一.前言 在Android开发中,会经常涉及到显示图片的相关操作,在网上查阅资料,ImageLoader得到大家广泛的使用,本篇文章针对初使用者的一个向导,同时也是自己使用该框架的一个总结,主要包含: ## 源码浅析 ## ## 使用教程 ## ## 用法总结及demo下载 ## 二.源码浅析 从用法来看,我们在使用该框架的时候,会先做一个初始化操作(一般在Application中), ImageLoader imageLoader = ImageLoader.getInstance(); im

Android开源框架ImageLoader的完美例子

要使用ImageLoader就要到这里下载jar包: https://github.com/nostra13/Android-Universal-Image-Loader 然后导入项目中去就行了 项目文档结构图: 从界面说起,界面本身是没什么好说的,就是如何在xml当中进行定义罢了 有以下这么多个布局文件 一个一个来看呗 首先是这样的效果 这个在Android4.2.2比较好看,在Android2.3.3就显得比较挫. /2013.8.19_Universal_Image_Loader_Demo

Android UI-开源框架ImageLoader的完美例子

Android开源框架ImageLoader的完美例子 2013年8月19日开源框架之Universal_Image_Loader学习 很多人都在讨论如何让图片能在异步加载更加流畅,可以显示大量图片,在拖动ListView的时候不会出现卡的现象.关于ImageLoader这个开源框架的使用有很多网友都介绍过,不过还不够清楚,这里有一个关于这个开源项目的完美例子,ListView的图片加载.GridView的图片加载.ViewPager的图片加载.Gallery画廊的图片加载.Widget的使用.

只有代码不会撒谎,如何通过Spring boot源码查看其对于各个框架的默认配置

我发现很多开发对于看源码都有种恐惧心理,其实不必这样,大部分优秀的源码写的都挺直观的,很多时候,你在搜索引擎上搜到的一些东西并不一定是真的,但源码肯定不会是假的,毕竟不管你怎么想,它就在那里,该是什么意思就是什么意思,不以人的主观而改变. 譬如spring boot对于开源框架的默认配置都在这个包下面,想知道自己使用的框架在spring boot里的默认配置是怎样的可以直接在这个包下找,这比你搜到的东西更直观,明确,毕竟你搜到的东西可能跟你的版本不一致 org.springframework.b

【光速使用开源框架系列】图片加载框架ImageLoader

[关于本系列] 最近看了不少开源框架,网上的资料也非常多,但是我认为了解一个框架最好的方法就是实际使用.本系列博文就是带领大家快速的上手一些常用的开源框架,体会到其作用. 由于作者水平有限,本系列只会描述如何快速的使用框架的基本功能,更多的详细设置大家可以在这些项目的页面上找到. [介绍]: ImageLoader作为一款开源的异步图片加载框架,在Android开发中经常被使用到,该控件可以加载和显示图片.并且对其进行缓存,提供了很多方便的选项帮助开发者们快速达到开发需求. [GitHub页面]

java开源框架SpringSide3多数据源配置的方法详解

原创整理不易,转载请注明出处:java开源框架SpringSide3多数据源配置的方法详解 代码下载地址:http://www.zuidaima.com/share/1781579130801152.htm 在SpringSide 3社区中,不断有人提出多数据源配置的问题,但是时至今日却一直没有一个完美的答案.经过一个星期的折腾,我总算搞清楚了在SpringSide 3中配置多数据源的各种困难并加以解决,在这里,特地把我配置SpringSide 3项目中多数据源的过程写出来,与大家分享. 我使用

教你写Android ImageLoader框架之初始配置与请求调度

## 前言 在教你写Android ImageLoader框架之基本架构中我们对SimpleImageLoader框架进行了基本的介绍,今天我们就从源码的角度来剖析ImageLoader的设计与实现.   在我们使用ImageLoader前都会通过一个配置类来设置一些基本的东西,比如加载中的图片.加载失败的图片.缓存策略等等,SimpleImageLoader的设计也是如此.配置类这个比较简单,我们直接看源码吧. ImageLoaderConfig配置 /** * ImageLoader配置类,