ImageLoader使用
最近琢磨的网上的这些开源框架,imageLoader确实很好用,基本用法不记录了,参考网上的一些代码写了个ImageLoaderManager
/**
* Created by Lee on 2016/2/22.
*/
public class ImageLoaderManager {
public static DisplayImageOptions.Builder IMAGE_OPTION_DEFAULT = new DisplayImageOptions.Builder()
.cacheInMemory(true).cacheOnDisk(true).displayer(new SimpleBitmapDisplayer())
.resetViewBeforeLoading(true).considerExifParams(true).bitmapConfig(Bitmap.Config.RGB_565); public static DisplayImageOptions IMAGE_OPTION_DEFAULT_PIC = IMAGE_OPTION_DEFAULT
.showImageForEmptyUri(R.drawable.ic_launcher)
.showImageOnFail(R.drawable.ic_launcher)
.showImageOnLoading(R.drawable.ic_launcher)
.build(); public static void init(Context context){
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context).
memoryCacheExtraOptions(480, 800). //max width, max height
threadPoolSize(3). //线程池内加载的数量
threadPriority(Thread.NORM_PRIORITY).denyCacheImageMultipleSizesInMemory().
memoryCache(new LruMemoryCache(2 * 1024 * 1024)). //you can pass your own memory cache implementation
memoryCacheSize(2 * 1024 * 1024).
diskCacheSize(50 * 1024 * 1024)
.diskCacheFileNameGenerator(new Md5FileNameGenerator())//将保存的时候的URI名称用MD5 加密
.tasksProcessingOrder(QueueProcessingType.LIFO)
.diskCacheFileCount(100) //缓存的文件数量
.diskCache(new UnlimitedDiskCache(StorageUtils.getCacheDirectory(context)))//自定义缓存路径
.defaultDisplayImageOptions(IMAGE_OPTION_DEFAULT.build())
.imageDownloader(new BaseImageDownloader(context, 5 * 1000, 30 * 1000)) // connectTimeout (5 s), readTimeout (30 s)超时时间
.build();//开始构建
ImageLoader.getInstance().init(config);//全局初始化此配置
}
}
我们需要在全局初始化这个ImageLoader,所以在application类中我们需要init
public class MyApplication extends Application{
private static MyApplication instance;
public static MyApplication getInstance(){
return instance;
}
@Override
public void onCreate() {
super.onCreate();
instance = this;
initImageLoader();
}
private static void initImageLoader(){
ImageLoaderManager.init(instance.getApplicationContext());
}
调用时只需要一行代码
public void setImage(String url){
ImageLoader.getInstance().displayImage(url, image, ImageLoaderManager.IMAGE_OPTION_DEFAULT_PIC);
}
image为imageview
ImageLoader使用的更多相关文章
- android使用ImageLoader实现图片缓存(安卓开发必备)
相信大家在学习以及实际开发中基本都会与网络数据打交道,而这其中一个非常影响用户体验的就是图片的缓存了,若是没有弄好图片缓存,用户体验会大大下降,总会出现卡顿情况,而这个问题尤其容易出现在ListVie ...
- android ImageLoader 混淆加载drawable出现黑色图片的解决方案
在网上找了很久,没有找到.后来看了源码才知道... 多线程异步加载和显示图片(图片来源于网络.sd卡.assets文件夹,drawable文件夹(不能加载9patch),新增加载视频缩略图) Stri ...
- ImageLoader配合ImageSwitcher的使用
先在MyApplication中初始化ImageLoader initImageLoader(getApplicationContext()); /** * 初始化ImageLoader * 如果你经 ...
- ImageLoader
配置ImageLoader 一般我们在使用ImageLoader的时候,需要在应用程序的入口进行它的一个配置,这个配置一般写到Application里边 * public void initImage ...
- ImageLoader加载图片
先导universal-image-loader-1.9.3包 在application配置 android:name=".MyApplication" intent权限 1 pa ...
- ImageLoader图片加载
http://blog.csdn.net/liu1164316159/article/details/38728259 转载请注明http://write.blog.csdn.net/po ...
- Android 三大图片加载框架的对比——ImageLoader,Picasso,Glide
一.ImageLaoder介绍 << Universal ImageLoader 是很早开源的图片缓存,在早期被很多应用使用 多线程下载图片,图片可以来源于网络,文件系统,项目文件夹ass ...
- ImageLoader框架的使用、调用系统相册显示图片并裁剪显示、保存图片的两种方式
ImageLoader虽然说是一个相对于比较老的一个框架了 ,但是总的来说,还是比较好用的,今天我就总结了一下它的用法.还有调用系统相册并裁剪,以及,通过sharedpreference和文件存储来保 ...
- jsLoader、cssLoader、imageLoader
//js文件加载 function jsLoader(url,callback){ var script = document.createElement("script"); s ...
- 8.4.1 ImageLoader
ImageLoader 的工作原理(已经不维护了) 在显示图片的时候,它会先在内存中查找:如果没有,就去本地查找:如果还没有,就开一个新的线程去下载这张图片,下载成功会把图片同时缓存到内存和本地. 基 ...
随机推荐
- C++线段树模板(区间和、区间加)
操作说明: segtree<T>tree(len) =>创建一个内部元素类型为T.区间为1-len的线段树tree tree.build(l,r) =>以[l,r]区间建立线段 ...
- RPD Volume 168 Issue 4 March 2016 评论7-end
Shielding activation of petawatt laser facilities in Romania: a FLUKA preliminary evaluation Abstr ...
- 【三维偏序】【分块】bzoj3262 陌上花开
裸的三维偏序. 对x坐标排序,y.z坐标分块.复杂度O(n*sqrt(n*log(n))).代码很短. #include<cstdio> #include<cmath> #in ...
- 9.1(java学习笔记)正则表达式
一.正则表达式 1.1正则表达式 正则表达式是描述一种规则,通过这个规则可以匹配到一类字符串. 2.1正则语法 2.1.1普通字符:字母.数字.下划线.汉字以及没有特殊意义的符号都是普通字符. 正则表 ...
- laravel中的事件处理
一.什么是事件处理 事件就是在特地时间.特定地点.发生的特定行为.例如:删除某个用户帖子这个行为后,要通过站短发送信息给帖子所属的用户.这里就有删除帖子事件,发站短是事件后处理. 二.为什么要使用事件 ...
- pythonGUI编程打开默认浏览器
代码: from tkinter import * import webbrowser root = Tk() text = Text(root,width=30,height = 5) text.p ...
- hadoop FileSplit
/** A section of an input file. Returned by {@link * InputFormat#getSplits(JobContext)} and passed t ...
- 解决ThinkPHP3.2.3框架,PDO驱动类“抛出异常”不起作用的bug
项目中引进了ThinkPHP3.2.3的模型层,发现当SQL语句出错时,系统抛出的异常不是我想要的效果,打开文件 ThinkPHP\Library\Think\Db\Driver.class.php, ...
- Word绘制跨行表格
如图“用户评价电影数目”,我们需要均分第一行,选中这三个个,设置了表个高度0.5cm,但是发现上面的一个比较考上,我们需要找到水平竖直居中,那么双击表格,打开表格工具,有设计和布局,切换到布局就找到了 ...
- SSH 登录缓慢解决方案
SSH 登录太慢可能是 DNS 解析的问题,默认配置下 sshd 初次接受 ssh 客户端连接的时候会自动反向解析客户端 IP 以得到 ssh 客户端的域名或主机名. 如果这个时候 DNS 的反向解析 ...