UniversalImageLoader(异步加载大量图片)
UniversalImageLoader是用于加载图片的一个开源项目,UniversalImageLoader是实现异步加载大量图片的源码和例子,包括缓存、硬盘缓存、容错机制等技术。在其项目介绍中是这么写的,
支持多线程图片加载;
提供丰富的细节配置,比如线程池大小,HTPP请求项,内存和磁盘缓存,图片显示时的参数配置等等;
提供双缓存;
支持加载过程的监听;
提供图片的个性化显示配置接口;
Widget支持;
要使用ImageLoader就要到这里下载jar包:
https://github.com/nostra13/Android-Universal-Image-Loader
然后导入项目中去就行了。
DisplayImageOptions options,图片的参数配置对象,
options = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.stub_image)
.showImageForEmptyUri(R.drawable.image_for_empty_url)
.cacheInMemory()
.cacheOnDisc()
.build();
第一个是图片加载过程中显示的图片,第二个是图片加载失败时用的的图片,第三个允许内存缓存,第四个允许磁盘缓存。除此之外还有两个,imageScaleType(ImageScaleType imageScaleType)图片缩放类型,displayer(BitmapDisplayer displayer)bitmap显示控制层,可以在显示图片前对Bitmap简单处理一下,这两个不是一定要设定,应为他们都有默认值。
最后一个参数ImageLoadingListener listener当然是监听过程的回调接口。
通过ImageLoader实例对象,调用 public void displayImage(String uri, ImageView imageView, DisplayImageOptions options, ImageLoadingListener listener) 方法将开始加载图片。
工作线程: LoadAndDisplayImageTask displayImageTask = new LoadAndDisplayImageTask(configuration, imageLoadingInfo, new Handler());
详细的可以参考“参考资料链接”,这里不做详细的说明。
参考资料链接:
图片加载框架---UniversalImageLoader使用(一):http://www.cnblogs.com/avenwu/archive/2013/05/03/3058468.html
图片加载框架--ImageLoader实现(二):http://www.cnblogs.com/avenwu/archive/2013/05/05/3060931.html
开源项目之UniversalImageLoader(异步加载大量图片):http://blog.csdn.net/banketree/article/details/8004475
Android开源框架ImageLoader的完美例子:
http://blog.csdn.net/wwj_748/article/details/10079311
http://www.cnblogs.com/zgz345/p/3502315.html
代码下载链接:
http://www.apkbus.com/forum.php?mod=viewthread&tid=169081
http://download.csdn.net/detail/banketree/5328188
UniversalImageLoader(异步加载大量图片)的更多相关文章
- 【框架】异步加载大量图片--ImageLoader
public abstract class BaseImageLoaderProvider { public abstract void loadImage(Context ctx, ImageLoa ...
- LruCache为GridView异步加载大量网络图片
MainActivity如下: import android.os.Bundle; import android.widget.GridView; import android.app.Activit ...
- 使用UIL(Universal-Image-Loader)异步加载图片
概要: Android-Universal-Image-Loader是一个开源的UI组件程序,该项目的目的是实现可重复使用的异步图像加载.缓存和显示.所以,如果你的程序里需要这个功能的话,使用它,因为 ...
- Android GridView异步加载图片和加载大量图片时出现Out Of Memory问题
我们在使用GridView或者ListView时,通常会遇到两个棘手的问题: 1.每个Item获取的数据所用的时间太长会导致程序长时间黑屏,更甚会导致程序ANR,也就是Application No R ...
- Universal-Image-Loader 图片异步加载类库的使用
这个图片异步加载并缓存的类已经被很多开发者所使用,是最常用的几个开源库之一,主流的应用,随便反编译几个火的项目,都可以见到它的身影. 可是有的人并不知道如何去使用这库如何进行配置,网上查到的信息对于刚 ...
- 【.net深呼吸】WPF异步加载大批量图像
如何在WPF中加载大批量数据,并且不会阻塞UI线程,尤其是加载大量图片时,这活儿一直是很多朋友都相当关注的.世上没有最完美的解决之道,咱们但求相对较优的方案. 经过一些试验和对比,老周找到了一种算是不 ...
- Android图片异步加载框架Android-Universal-Image-Loader
版权声明:本文为博主原创文章,未经博主允许不得转载. Android-Universal-Image-Loader是一个图片异步加载,缓存和显示的框架.这个框架已经被很多开发者所使用,是最常用的几个 ...
- android官方开源的高性能异步加载网络图片的Gridview例子
这个是我在安卓安卓巴士上看到的资料,放到这儿共享下.这个例子android官方提供的,其中讲解了如何异步加载网络图片,以及在gridview中高效率的显示图片此代码很好的解决了加载大量图片时,报OOM ...
- ImageLoader实现图片异步加载
ImageLoader是一个广泛使用的图片库,在向网络请求图片时,使用imageView和smartView常会产生outofmemory错误,这时ImageLoader可以起到很大的作用,主要有如下 ...
随机推荐
- overlay网络隔离实验失败记录
按照 https://www.cnblogs.com/CloudMan6/p/7341487.html进行操作,实验结果与老师文章中的正好相反,不同 overlay 网络中的主机可以通信,验证部分见下 ...
- jsp登录注册
只帖源代码,,,,不讲解. 1.Login.jsp <%@ page language="java" import="java.util.*" pageE ...
- Java面试题系列(五)
序言 基本数据类型数组和引用数据类型数组的区别 基本数据类型数组: 其中存储的元素为基本类型数据. 引用类型数组: 元素是对象,其中存储的是对象的地址值. 引用数据类型的数组使用规定长度的方式进行初始 ...
- Extjs 设置GridPanel单元格可选择高兼容写法
网上大部分都是这种 <style type= "text/css" > .x-selectable, .x-selectable * { -moz-user-selec ...
- Groovy 设计模式 -- Strategy 模式
策略模式 https://en.wikipedia.org/wiki/Strategy_pattern In computer programming, the strategy pattern (a ...
- deque
转自:https://www.cnblogs.com/LearningTheLoad/p/7450948.html deque双向开口可进可出的容器 我们知道连续内存的容器不能随意扩充,因为这样容易扩 ...
- mvc 分页PagedList简单使用
1.nuget下载PagedList包 2.PageListHelper类: using PagedList; using System; using System.Collections.Gener ...
- Cisco Common Service Platform Collector - Hardcoded Credentials(CVE-2019-1723)
Cisco Common Service Platform Collector - Hardcoded Credentials 思科公共服务平台收集器-硬编码凭证(CVE-2019-1723) htt ...
- pyqtgraph
安装 pip3 install pyqtgraph 在PyQtGraph中,有几种绘制图形的方法: pyqtgraph.plot():创建一个新的绘图窗口来显示数据: PlotWidget.plot ...
- axios 在Vue全局引入的方法
在main.js中: import axios form axios Vue.prototype.$axios = axios 组件中使用: submitFrom () { this.$axios.g ...