关于imageloader的一些理解
2016-05-25 14:38
417 查看
Android-Universal-Image-Loader是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加载,缓存和显示。最近翻了很多网上的博客,自己总结一下:Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration
自己配置参数?
4、图片显示操作a、首先要得到ImageLoader的实例(使用的单例模式)?
注:在每个显示任务(布局中都需实例化才能进行相关操作b、相关显示参数配置?
c、显示图片?
参数解析:?
参考链接 http://www.cnblogs.com/kissazi2/p/3886563.html http://www.tuicool.com/articles/2yYfiy http://www.2cto.com/kf/201412/361295.html http://hunankeda110.iteye.com/blog/1897961
三者的关系
ImageLoaderConfiguration是针对图片缓存的全局配置,主要有线程类、缓存大小、磁盘大小、图片下载与解析、日志方面的配置。ImageLoader是具体下载图片,缓存图片,显示图片的具体执行类,它有两个具体的方法displayImage(...)、loadImage(...),但是其实最终他们的实现都是displayImage(...)。DisplayImageOptions用于指导每一个Imageloader根据网络图片的状态(空白、下载错误、正在下载)显示对应的图片,是否将缓存加载到磁盘上,下载完后对图片进行怎么样的处理。DisplayImageOptions 用于设置图片显示的类。 1.此类的功能:1 //设置图片在下载期间显示的图片 2 showStubImage(R.drawable.ic_launcher) 3 4 //设置图片Uri为空或是错误的时候显示的图片 5 showImageForEmptyUri(R.drawable.ic_empty) 6 7 //设置图片加载/解码过程中错误时候显示的图片 8 showImageOnFail(R.drawable.ic_error) 9 10 //设置图片在下载前是否重置,复位 11 resetViewBeforeLoading() 12 13 //设置下载的图片是否缓存在内存中 14 cacheInMemory() 15 16 //设置下载的图片是否缓存在SD卡中 17 cacheOnDisc() 18 19 //设置图片的解码类型 20 bitmapConfig(Bitmap.Config.RGB_565) 21 22 //设置图片的解码配置 23 decodingOptions(android.graphics.BitmapFactory.Options decodingOptions) 24 25 //设置图片下载前的延迟 26 delayBeforeLoading(int delayInMillis) 27 28 //设置额外的内容给ImageDownloader 29 extraForDownloader(Object extra) 30 31 //设置图片加入缓存前,对bitmap进行设置 32 preProcessor(BitmapProcessor preProcessor) 33 34 //设置显示前的图片,显示后这个图片一直保留在缓存中 35 postProcessor(BitmapProcessor postProcessor) 36 37 //设置图片以如何的编码方式显示 38 imageScaleType(ImageScaleType imageScaleType)2.此类的两种创建方式:
/** * DisplayImageOptions 创建的两种方式。 */ // 创建默认的DisplayImageOptions DisplayImageOptions option_0 = DisplayImageOptions.createSimple(); // 使用DisplayImageOptions.Builder()创建DisplayImageOptions DisplayImageOptions option_1 = new DisplayImageOptions.Builder() .showStubImage(R.drawable.ic_launcher) .showImageOnFail(R.drawable.ic_error) .showImageForEmptyUri(R.drawable.ic_empty).cacheInMemory() .cacheOnDisc().displayer(new RoundedBitmapDisplayer(20)) .build();3.类中的方法使用:
/** * 设置图片的显示方式 * @param displayer */ displayer(BitmapDisplayer displayer) displayer: RoundedBitmapDisplayer(int roundPixels)设置圆角图片 FakeBitmapDisplayer()这个类什么都没做 FadeInBitmapDisplayer(int durationMillis)设置图片渐显的时间 SimpleBitmapDisplayer()正常显示一张图片
/** * 图片的缩放方式 * @param imageScaleType */ imageScaleType(ImageScaleType imageScaleType) imageScaleType: EXACTLY :图像将完全按比例缩小的目标大小 EXACTLY_STRETCHED:图片会缩放到目标大小完全 IN_SAMPLE_INT:图像将被二次采样的整数倍 IN_SAMPLE_POWER_OF_2:图片将降低2倍,直到下一减少步骤,使图像更小的目标大小 NONE:图片不会调整使用时还要配置一下对应的参数在应用中配置ImageLoaderConfiguration参数(只能配置一次,如多次配置,则默认第一次的配置参数)使用默认设置?
相关文章推荐
- java中的线程池优点以及处理原理
- java导出Excel文件,直接可以下载,然后更新状态,刷新页面
- 单独编译某个pas文件
- 从高版本JDK换成低版本JDK报错Unsupported major.minor version 52.0
- PAT (Advanced Level) 1046. Shortest Distance (20)
- PAT (Advanced Level) 1045. Favorite Color Stripe (30)
- activiti退回到任意节点实例,不支持并行网关
- MySQL 中间件(Atlas,cobar,TDDL)
- Spring中Quartz的配置
- MySQL主从复制与读写分离
- 三色旗问题
- [leetcode] 【数组】70. Climbing Stairs
- win7作为服务器,vm12虚拟机centos6访问win7上的ftp文件夹
- Vue.js-----轻量高效的MVVM框架(八、使用组件)
- PAT (Advanced Level) 1044. Shopping in Mars (25)
- PHP用户注册邮箱验证激活帐号
- Nodejs学习笔记(一)
- QWebView加载并显示本地网页
- android自定义View时报 error: No resource identifier found for attribute ‘XXX’ in package 'XXX'
- 面试心得