ImageLoader 介绍
2016-09-17 14:22
411 查看
ImageLoaderConfiguration:是针对图片缓存的全局配置,主要有线程类、缓存大小、磁盘大小、图片下载与解析、日志方面的配置。
DisplayImageOptions:用于指导每一个Imageloader根据网络图片的状态(空白、下载错误、正在下载)显示对应的图片,是否将缓存加载到磁盘上,下载完后对图片进行怎么样的处理。
ImageLoader:是具体下载图片,缓存图片,显示图片的具体执行类,它有两个具体的方法displayImage(…)、loadImage(…),但是其实最终他们的实现都是displayImage(…)。
DisplayImageOptions:用于指导每一个Imageloader根据网络图片的状态(空白、下载错误、正在下载)显示对应的图片,是否将缓存加载到磁盘上,下载完后对图片进行怎么样的处理。
ImageLoader:是具体下载图片,缓存图片,显示图片的具体执行类,它有两个具体的方法displayImage(…)、loadImage(…),但是其实最终他们的实现都是displayImage(…)。
ImageLoaderConfiguration
ImageLoader imageLoader = ImageLoader.getInstance(); ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext()) .memoryCacheExtraOptions(480, 800) // 内存缓存图片的最大宽高 .discCacheExtraOptions(480, 800, CompressFormat.JPEG, 75) // 图片处理器,负责从磁盘缓存读取或写入前对图片进行处理 .threadPoolSize(3)//线程池数 .threadPriority(Thread.NORM_PRIORITY - 1)//线程优先级 .denyCacheImageMultipleSizesInMemory()/设置在内存中缓存图像的多种尺寸//加载同一URL图片时,imageView从小变大时,从内存缓存中加载 //不建议使用 .memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024)) // 超过设定的缓存大小时,内存缓存的清除机制 .discCache(new UnlimitedDiscCache(cacheDir)) //超过设定的缓存大小时,磁盘缓存的清除机制.discCacheFileNameGenerator(new HashCodeFileNameGenerator())//磁盘缓存的文件名的命名方式//一般使用默认值 (获取文件名称的hashcode然后转换成字符串)或MD5 new Md5FileNameGenerator()源文件的名称同过md5加密后保存 .defaultDisplayImageOptions(DisplayImageOptions.createSimple()) .enableLogging()//开启ImageLoader工作日志 .memoryCacheSize(100)//最大缓存大小//默认值,应用程序可用内存的1/8。 .build(); imageLoader.init(config); //完全退出程序时 ImageLoader.getInstance().clearDiskCache();//清除磁盘缓存 ImageLoader.getInstance().clearMemoryCache();//清除内存缓存
DisplayImageOptions
DisplayImageOptions options = new DisplayImageOptions.Builder() .showImageOnLoading(R.drawable.loading) //设置图片在下载期间显示的图片 .showImageForEmptyUri(R.drawable.ic_launcher)//设置图片Uri为空或是错误的时候显示的图片 .showImageOnFail(R.drawable.error) //设置图片加载/解码过程中错误时候显示的图片 .cacheInMemory(true)//设置下载的图片是否缓存在内存中 .cacheOnDisk(true)//设置下载的图片是否缓存在SD卡中 .considerExifParams(true) //是否考虑JPEG图像EXIF参数(旋转,翻转) .imageScaleType(ImageScaleType.IN_SAMPLE_INT)//设置图片以如何的编码方式显示 .bitmapConfig(Bitmap.Config.RGB_565)//设置图片的解码类型/默认是ARGB_8888,使用RGB_565会比使用ARGB_8888少消耗2倍的内存 .delayBeforeLoading(0)//int delayInMillis为你设置的下载前的延迟时间 .resetViewBeforeLoading(true)//设置图片在下载前是否重置,复位 .displayer(new RoundedBitmapDisplayer(20))//不推荐用!!!!是否设置为圆角,弧度为多少//他会创建新的ARGB_8888格式的Bitmap对象; .displayer(new FadeInBitmapDisplayer(100))//图片加载好后渐入的动画时间,可能会出现闪动 .build();//构建完成
DisplayImageOptions
DisplayImageOptions options = new DisplayImageOptions.Builder() .showImageOnLoading(R.drawable.loading) //设置图片在下载期间显示的图片 .showImageForEmptyUri(R.drawable.ic_launcher)//设置图片Uri为空或是错误的时候显示的图片 .showImageOnFail(R.drawable.error) //设置图片加载/解码过程中错误时候显示的图片 .cacheInMemory(true)//设置下载的图片是否缓存在内存中 .cacheOnDisk(true)//设置下载的图片是否缓存在SD卡中 .imageScaleType(ImageScaleType.IN_SAMPLE_INT)//设置图片以如何的编码方式显示 .bitmapConfig(Bitmap.Config.RGB_565)//设置图片的解码类型 .build();//构建完成 ImageScaleType.EXACTLY :图像将完全按比例缩小的目标大小 ImageScaleType.EXACTLY_STRETCHED:图片会缩放到目标大小完全 ImageScaleType.IN_SAMPLE_INT:图像将被二次采样的整数倍 ImageScaleType.IN_SAMPLE_POWER_OF_2:图片将降低2倍,直到下一减少步骤,使图像更小的目标大小 ImageScaleType.NONE:图片不会调整
相关文章推荐
- mac中配置hadoop常见问题
- python脚本退出后 不应该为负值
- P1896 [SCOI2005]互不侵犯King
- javascript checkbox作为开关,控制全选和全不选的动态关联实现
- Android菜单选项
- PHP数据库基础操作
- 另类电商年收入上亿美金
- 给 Android 开发者的 RxJava 详解
- LAMP平台下搭建论坛和博客系统
- 系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式(转)
- Xshell ssh长时间连接不掉线设置
- GNU复合语句
- Linux系统上获取命令帮助信息的方法
- 请罗列Linux发行版的基础目录名称、命名法则及功能规定
- 稳扎稳打JS——this
- 双击退出APP
- Activity生命周期,启动Activity,以及Activity之间数据的传递
- 稳扎稳打JS——this
- Bootstrap响应式侧边栏改进版
- Hibernate 双向一对多表的关联