图片异步加载框架 Android-Universal-Image-Loader
特点
- 多线程图片加载
- 尽可能多的配置选项(线程池,加载器,解析器,内存/磁盘缓存,显示参数等等)
- 图片可以缓存在内存中,或者设备文件目录下,或者SD卡中
- 可以监听加载进度
- 可以自定义显示每一张图片时都带不同参数
- 支持Widget
jar包下载
1.自定义XXXAppllication类,初始化ImageLoader
- publicclassXXXApplicationextendsApplication{
- @Override
- publicvoidonCreate(){
- super.onCreate();
- ImageLoaderConfigurationconfig=newImageLoaderConfiguration.Builder(getApplicationContext())
- .denyCacheImageMultipleSizesInMemory()
- .memoryCache(newLruMemoryCache(2*1024*1024))
- .memoryCacheSize(2*1024*1024)
- .discCacheSize(50*1024*1024)
- .denyCacheImageMultipleSizesInMemory()
- .discCacheFileNameGenerator(newMd5FileNameGenerator())
- .tasksProcessingOrder(QueueProcessingType.LIFO)
- .discCacheFileCount(100)
- .writeDebugLogs()
- .build();
- ImageLoader.getInstance().init(config);
- }
- }
2.在AndroidManifest.xml文件的application标签里加入
- android:name=".XXXApplication"
3.使用imageloader
- publicclassImageManager{
- publicstaticvoidLoad(StringimgUrl,ImageViewimageView){
- ImageLoader.getInstance().displayImage(imgUrl,imageView);
- }
- publicstaticvoidLoad(StringimgUrl,ImageViewimageView,DisplayImageOptionso){
- ImageLoader.getInstance().displayImage(imgUrl,imageView,o);
- }
- }
4.部分参数介绍
- //设置图片在下载期间显示的图片
- showStubImage(R.drawable.ic_launcher)
- //设置图片Uri为空或是错误的时候显示的图片
- showImageForEmptyUri(R.drawable.ic_empty)
- //设置图片加载/解码过程中错误时候显示的图片
- showImageOnFail(R.drawable.ic_error)
- //设置图片在下载前是否重置,复位
- resetViewBeforeLoading()
- //设置下载的图片是否缓存在内存中
- cacheInMemory()
- //设置下载的图片是否缓存在SD卡中
- cacheOnDisc()
- //设置图片的解码类型
- bitmapConfig(Bitmap.Config.RGB_565)
- //设置图片的解码配置
- decodingOptions(android.graphics.BitmapFactory.OptionsdecodingOptions)
- //设置图片下载前的延迟
- delayBeforeLoading(intdelayInMillis)
- //设置额外的内容给ImageDownloader
- extraForDownloader(Objectextra)
- //设置图片加入缓存前,对bitmap进行设置
- preProcessor(BitmapProcessorpreProcessor)
- //设置显示前的图片,显示后这个图片一直保留在缓存中
- postProcessor(BitmapProcessorpostProcessor)
- //设置图片以如何的编码方式显示
- imageScaleType(ImageScaleTypeimageScaleType)
- /**
- *设置图片的显示方式
- *@paramdisplayer
- */
- displayer(BitmapDisplayerdisplayer)
- displayer:
- RoundedBitmapDisplayer(introundPixels)设置圆角图片
- FakeBitmapDisplayer()这个类什么都没做
- FadeInBitmapDisplayer(intdurationMillis)设置图片渐显的时间
- SimpleBitmapDisplayer()正常显示一张图片
- /**
- *图片的缩放方式
- *@paramimageScaleType
- */
- imageScaleType(ImageScaleTypeimageScaleType)
- imageScaleType:
- EXACTLY:图像将完全按比例缩小的目标大小
- EXACTLY_STRETCHED:图片会缩放到目标大小完全
- IN_SAMPLE_INT:图像将被二次采样的整数倍
- IN_SAMPLE_POWER_OF_2:图片将降低2倍,直到下一减少步骤,使图像更小的目标大小
- NONE:图片不会调整
- /**
- *DisplayImageOptions简单示例
- */
- //创建默认的DisplayImageOptions
- DisplayImageOptionsoption_0=DisplayImageOptions.createSimple();
- //使用DisplayImageOptions.Builder()创建DisplayImageOptions
- DisplayImageOptionsoptions=newDisplayImageOptions.Builder()
- .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
- .showStubImage(R.drawable.loading)
- .showImageForEmptyUri(R.drawable.load_fail)
- .showImageOnFail(R.drawable.load_fail)
- .cacheInMemory(true)
- .cacheOnDisc(true)
- .build();
5.最后别忘了权限
- <uses-permissionandroid:name="android.permission.INTERNET"/>
- <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
- <uses-permissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
图片异步加载框架 Android-Universal-Image-Loader相关推荐
- android复位机器人图片_Universal-Image-Loader 图片异步加载类库还不熟?
码个蛋(codeegg) 第 824 次推文 作者:欢醉 博客:https://cloud.tencent.com/developer/article/1026386 码妞看世界 写在前面 这个图片异 ...
- Android 图片异步加载的体会,SoftReference已经不再适用
在网络上搜索Android图片异步加载的相关文章,目前大部分提到的解决方案,都是采用Map<String, SoftReference<Drawable>> 这样软引用的方式 ...
- android webview 图片异步加载,Webview 图片异步加载及bug解决
在项目中新闻显示需要使用图片的异步加载,并且在加载图片前和加载图片失败时显示默认图片. 关于webview中图片的异步加载的思路如下: 方案一:由前端同学全权负责(使用js实现异步加载) 方案二:an ...
- Android 图片异步加载
所谓图片异步加载,意思是不用一次把图片全部加载完,你可以叫它延迟加载,缓冲加载都行. 看看你有没有这种需求:某篇文章图片很多,如果在载入文章时就载入所有图片,无疑会延缓载入速度,让用户等更久,所以,我 ...
- Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
UIL( Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)) http://blog.csdn.net/vipzjyno1/article/detai ...
- ListView中的图片异步加载、缓存
一.ListView的图片异步加载 我们都知道对每一个Weibo Item都有用户头像,而且每一条微博还可能带有图片.如果在加载列表的同时加载图片,这样有几个缺点,第一很费事,界面卡住,用户体验很不好 ...
- ImageLoader 图片异步加载类库的使用
http://blog.csdn.net/vipzjyno1/article/details/23206387 这个图片异步加载并缓存的类已经被很多开发者所使用,是最常用的几个开源库之一,主流的应用, ...
- 基于jQuery的图片异步加载和预加载实例
如今的网页中有很多图片,比如相册列表,那么如果一次性读取图片将会瞬间加重服务器的负担,所以我们用jQuery来实现图片的异步加载和预加载功能,这样在页面的可视范围内才会加载图片,当拖动页面至可视界面时 ...
- android图片异步加载图片,Android 异步加载图片分析总结
研究了android从网络上异步加载图像,现总结如下: (1)由于android UI更新支持单一线程原则,所以从网络上取数据并更新到界面上,为了不阻塞主线程首先可能会想到以下方法. 在主线程中new ...
最新文章
- python使用正则表达式删除字符串中的其它字符只保留数字和字母
- python入门有基础-Python入门必须知道的11个知识点
- Python第三章-字符串
- Docker 安装 Redis
- 【网络安全】一次实战中对tp5网站getshell方式的测试
- 华北水利水电大学2012级c语言实验报告,华北水利水电大学2012级c语言实验报告(5)...
- delphi初级教程之delphi断点调试二
- SpringBoot2 整合 AXIS 服务端和客户端
- 两年的坚持,最后还是决定将ISoft开源
- Docker Flie
- PCB Layout各层含义与分层原则
- 在哪下载公司考勤刷卡特殊情况说明Excel模板
- [极客时间] 时间复杂度和空间复杂度分析
- 图片的 orientation 属性
- 数据科学和人工智能技术笔记 二十、数据可视化
- EagleEye论文+代码
- metasequoia :Summoner
- 双击背面截图_ios14怎么双击后盖截图 苹果双击背面截图原理详解[多图]
- CStdioFile类学习
- Unix操作系统的历史演变