android图片缓存框架Android-Universal-Image-Loader
http://blog.csdn.net/king_is_everyone/article/details/34107081
最近跟同学们做了一个创业项目,其实跟以前做项目不同,以前大多数都是做web网站,对内存管理这些不太关注,因为是pc机,做android的话也就是一些小列子,现在到了做产品阶段吧,只能把项目做到最优。不扯了,先来说这个框架是做什么的,Android-Universal-Image-Loader主要是一个图片的缓存框架,根据官方解释就是,它提供了一个异步处理图片的方案。它提供两种获取图片方式async or sync,并且提供了一个可定制化的组件(thread executors, downloader, decoder, memory and disk cache, display image options, etc),它会把图片首先缓存到本地,然后在从本地进行读取这些图片,
这是官方使用的效果图
先来说说怎么使用它:首先在github上面下载Android-Universal-Image-Loader,加入到你的android项目里面,然后记得一定要加上这两个权限,否则这个缓存框架是不能够使用的
- <manifest>
- <uses-permission android:name="android.permission.INTERNET" />
- <!-- Include next permission if you want to allow UIL to cache images on SD card -->
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- ...
- <application android:name="MyApplication">
- ...
- </application>
- </manifest>
然后在代码里对该缓存框架进行配置,之所以说它是一个很灵活的东西,是因为它里面的大多数参数都可以手动配置,组件通用化程度高,几乎不需要进行复写。
这是我大概根据官方文档翻译的一些配置,其实对于大家来说,用默认的即可,除非是有特殊要求。
先开始使用的第一步:
配置ImageLoaderConfiguration这个类实现全局ImageLoader
- ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
- activity)
- .memoryCacheExtraOptions(640, 480)
- // 保存每个缓存图片的最大长和宽
- .threadPoolSize(3)
- // 线程池的大小 这个其实默认就是3
- .memoryCacheSize(2 * 1024)
- // 设置缓存的最大字节
- .denyCacheImageMultipleSizesInMemory()
- // 缓存显示不同大小的同一张图片
- .imageDownloader(
- new BaseImageDownloader(activity, 5 * 1000, 30 * 1000)) // connectTimeout
- // s)超时时间
- .build();
- ImageLoader imageLoader = ImageLoader.getInstance();
- imageLoader.init(config);
这是我大概需要的一些参数配置。
第二步
配置一些图片选项
- DisplayImageOptions options;
- options = new DisplayImageOptions.Builder()
- .showImageOnLoading(R.drawable.ic_launcher) // 设置图片在下载期间显示的图片
- .showImageForEmptyUri(R.drawable.ic_launcher)// 设置图片Uri为空或是错误的时候显示的图片
- .showImageOnFail(R.drawable.ic_launcher) // 设置图片加载/解码过程中错误时候显示的图片
- .cacheInMemory(true)// 设置下载的图片是否缓存在内存中
- .cacheOnDisk(true)// 设置下载的图片是否缓存在SD卡中
- .displayer(new FadeInBitmapDisplayer(100))// 是否图片加载好后渐入的动画时间
- .build();
这是大概的一个配置状况,在下一篇会用一个listView的实例来讲解这个框架的具体使用
android图片缓存框架Android-Universal-Image-Loader的更多相关文章
- Android图片缓存框架Glide
Android图片缓存框架Glide Glide是Google提供的一个组件.它具有获取.解码和展示视频剧照.图片.动画等功能.它提供了灵活的API,帮助开发者将Glide应用在几乎任何网络协议栈中. ...
- android图片缓存框架Android-Universal-Image-Loader(二)
http://blog.csdn.net/king_is_everyone/article/details/35595515 这篇打算直接告诉大家怎么用吧,其实这个也不是很难的框架,大致使用过程如下: ...
- Android图片缓存之初识Glide
前言: 前面总结学习了图片的使用以及Lru算法,今天来学习一下比较优秀的图片缓存开源框架.技术本身就要不断的更迭,从最初的自己使用SoftReference实现自己的图片缓存,到后来做电商项目自己的实 ...
- Android图片缓存之Bitmap详解
前言: 最近准备研究一下图片缓存框架,基于这个想法觉得还是先了解有关图片缓存的基础知识,今天重点学习一下Bitmap.BitmapFactory这两个类. 图片缓存相关博客地址: Android图片缓 ...
- 安卓高级 Android图片缓存之初识Glide
前言: 前面总结学习了图片的使用以及Lru算法,今天来学习一下比较优秀的图片缓存开源框架.技术本身就要不断的更迭,从最初的自己使用SoftReference实现自己的图片缓存,到后来做电商项目自己的实 ...
- Android图片载入框架最全解析(一),Glide的基本使用方法
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/53759439 本文同步发表于我的微信公众号.扫一扫文章底部的二维码或在微信搜索 郭 ...
- Android图片缓存之初识Glide(三)
前言: 前面总结学习了图片的使用以及Lru算法,今天来学习一下比较优秀的图片缓存开源框架.技术本身就要不断的更迭,从最初的自己使用SoftReference实现自己的图片缓存,到后来做电商项目自己的实 ...
- Android图片缓存之Bitmap详解(一)
前言: 最近准备研究一下图片缓存框架,基于这个想法觉得还是先了解有关图片缓存的基础知识,今天重点学习一下Bitmap.BitmapFactory这两个类. Bitmap: Bitmap是Android ...
- Android图片缓存之Lru算法
前言: 上篇我们总结了Bitmap的处理,同时对比了各种处理的效率以及对内存占用大小.我们得知一个应用如果使用大量图片就会导致OOM(out of memory),那该如何处理才能近可能的降低oom发 ...
随机推荐
- Ubuntu14.04 Tomcat 安装过程记录
Ubuntu14.04 Tomcat 安装过程记录 检查java的版本 zhousp@ubuntu:~$ sudo java -version [sudo] password for zhousp: ...
- 新一代的代码编辑神器Sublime Text 3(使用指南)
首先附上官网下载链接:http://www.sublimetext.com/3 接下来是安装sublime最强大的插件功能:Package Control 一.简单的安装方法 使用Ctrl+`快捷键或 ...
- 滚动条响应鼠标滑轮事件实现上下滚动的js代码
<script type="text/javascript"> var scrollFunc=function(e){ e=e || window.event; if( ...
- 舵机的PWM控制学习随笔
舵机的控制信号,对于脉宽调制信号的脉宽变换,常用的一种方法是采用调制信号获取有源滤波后的直流电压,但是需要50Hz(周期是20ms)的信号,这对运放器件的选择有较高要求,从电路体积和功耗考虑也不易采用 ...
- 【C语言】严格区分大小写
C语言严格区分大小写 一.相关基础知识 二.具体内容 C语言严格区分大小写: 如: int为关键字,INT则为用户标识符,即可定义int INT; int INt; int Int; cha ...
- Swift-MJ
1.声明变量 常量 声明变量:var age = 10 声明常量:let age = 10 (不加分号,除非多条语句写在同一行) 二进制前缀:0b(必须小写) 八进制前缀:0o 十六进制前缀:0x 2 ...
- github克隆项目中的子模块submodule时遇到的问题
GitHub真是个开源大宝库,不只能学习代码,还能学习git的使用! 最近在研究Off-the-Record-iOS项目(https://github.com/chrisballinger/Off-t ...
- Adobe Photoshop CS或者CC卸载不了怎么办?
有木有没有遇到这个问题的同学?使用Adobe Creative Suite CleanerToo工具下载就好了~ 下载地址:http://pan.baidu.com/s/1pJ3aBsn
- BZOJ 1043 下落的圆盘
Description 有n个圆盘从天而降,后面落下的可以盖住前面的.求最后形成的封闭区域的周长.看下面这副图, 所有的红色线条的总长度即为所求. Input n ri xi y1 ... rn x ...
- [原创]leet code - path sum
; ; ; } } ; }};