特点

  • 多线程图片加载
  • 尽可能多的配置选项(线程池,加载器,解析器,内存/磁盘缓存,显示参数等等)
  • 图片可以缓存在内存中,或者设备文件目录下,或者SD卡中
  • 可以监听加载进度
  • 可以自定义显示每一张图片时都带不同参数
  • 支持Widget

jar包下载

1.自定义XXXAppllication类,初始化ImageLoader

[java]view plaincopy
  1. publicclassXXXApplicationextendsApplication{
  2. @Override
  3. publicvoidonCreate(){
  4. super.onCreate();
  5. ImageLoaderConfigurationconfig=newImageLoaderConfiguration.Builder(getApplicationContext())
  6. .denyCacheImageMultipleSizesInMemory()
  7. .memoryCache(newLruMemoryCache(2*1024*1024))
  8. .memoryCacheSize(2*1024*1024)
  9. .discCacheSize(50*1024*1024)
  10. .denyCacheImageMultipleSizesInMemory()
  11. .discCacheFileNameGenerator(newMd5FileNameGenerator())
  12. .tasksProcessingOrder(QueueProcessingType.LIFO)
  13. .discCacheFileCount(100)
  14. .writeDebugLogs()
  15. .build();
  16. ImageLoader.getInstance().init(config);
  17. }
  18. }

2.在AndroidManifest.xml文件的application标签里加入

[java]view plaincopy
  1. android:name=".XXXApplication"

3.使用imageloader

[java]view plaincopy
  1. publicclassImageManager{
  2. publicstaticvoidLoad(StringimgUrl,ImageViewimageView){
  3. ImageLoader.getInstance().displayImage(imgUrl,imageView);
  4. }
  5. publicstaticvoidLoad(StringimgUrl,ImageViewimageView,DisplayImageOptionso){
  6. ImageLoader.getInstance().displayImage(imgUrl,imageView,o);
  7. }
  8. }

4.部分参数介绍

[java]view plaincopy
  1. //设置图片在下载期间显示的图片
  2. showStubImage(R.drawable.ic_launcher)
  3. //设置图片Uri为空或是错误的时候显示的图片
  4. showImageForEmptyUri(R.drawable.ic_empty)
  5. //设置图片加载/解码过程中错误时候显示的图片
  6. showImageOnFail(R.drawable.ic_error)
  7. //设置图片在下载前是否重置,复位
  8. resetViewBeforeLoading()
  9. //设置下载的图片是否缓存在内存中
  10. cacheInMemory()
  11. //设置下载的图片是否缓存在SD卡中
  12. cacheOnDisc()
  13. //设置图片的解码类型
  14. bitmapConfig(Bitmap.Config.RGB_565)
  15. //设置图片的解码配置
  16. decodingOptions(android.graphics.BitmapFactory.OptionsdecodingOptions)
  17. //设置图片下载前的延迟
  18. delayBeforeLoading(intdelayInMillis)
  19. //设置额外的内容给ImageDownloader
  20. extraForDownloader(Objectextra)
  21. //设置图片加入缓存前,对bitmap进行设置
  22. preProcessor(BitmapProcessorpreProcessor)
  23. //设置显示前的图片,显示后这个图片一直保留在缓存中
  24. postProcessor(BitmapProcessorpostProcessor)
  25. //设置图片以如何的编码方式显示
  26. imageScaleType(ImageScaleTypeimageScaleType)
  27. /**
  28. *设置图片的显示方式
  29. *@paramdisplayer
  30. */
  31. displayer(BitmapDisplayerdisplayer)
  32. displayer:
  33. RoundedBitmapDisplayer(introundPixels)设置圆角图片
  34. FakeBitmapDisplayer()这个类什么都没做
  35. FadeInBitmapDisplayer(intdurationMillis)设置图片渐显的时间
  36.    SimpleBitmapDisplayer()正常显示一张图片  
  37. /**
  38. *图片的缩放方式
  39. *@paramimageScaleType
  40. */
  41. imageScaleType(ImageScaleTypeimageScaleType)
  42. imageScaleType:
  43. EXACTLY:图像将完全按比例缩小的目标大小
  44. EXACTLY_STRETCHED:图片会缩放到目标大小完全
  45. IN_SAMPLE_INT:图像将被二次采样的整数倍
  46. IN_SAMPLE_POWER_OF_2:图片将降低2倍,直到下一减少步骤,使图像更小的目标大小
  47. NONE:图片不会调整
  48. /**
  49. *DisplayImageOptions简单示例
  50. */
  51. //创建默认的DisplayImageOptions
  52. DisplayImageOptionsoption_0=DisplayImageOptions.createSimple();
  53. //使用DisplayImageOptions.Builder()创建DisplayImageOptions
  54. DisplayImageOptionsoptions=newDisplayImageOptions.Builder()
  55. .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
  56. .showStubImage(R.drawable.loading)
  57. .showImageForEmptyUri(R.drawable.load_fail)
  58. .showImageOnFail(R.drawable.load_fail)
  59. .cacheInMemory(true)
  60. .cacheOnDisc(true)
  61. .build();

5.最后别忘了权限

[java]view plaincopy
  1. <uses-permissionandroid:name="android.permission.INTERNET"/>
  2. <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  3. <uses-permissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

图片异步加载框架 Android-Universal-Image-Loader相关推荐

  1. android复位机器人图片_Universal-Image-Loader 图片异步加载类库还不熟?

    码个蛋(codeegg) 第 824 次推文 作者:欢醉 博客:https://cloud.tencent.com/developer/article/1026386 码妞看世界 写在前面 这个图片异 ...

  2. Android 图片异步加载的体会,SoftReference已经不再适用

    在网络上搜索Android图片异步加载的相关文章,目前大部分提到的解决方案,都是采用Map<String, SoftReference<Drawable>>  这样软引用的方式 ...

  3. android webview 图片异步加载,Webview 图片异步加载及bug解决

    在项目中新闻显示需要使用图片的异步加载,并且在加载图片前和加载图片失败时显示默认图片. 关于webview中图片的异步加载的思路如下: 方案一:由前端同学全权负责(使用js实现异步加载) 方案二:an ...

  4. Android 图片异步加载

    所谓图片异步加载,意思是不用一次把图片全部加载完,你可以叫它延迟加载,缓冲加载都行. 看看你有没有这种需求:某篇文章图片很多,如果在载入文章时就载入所有图片,无疑会延缓载入速度,让用户等更久,所以,我 ...

  5. Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)

    UIL( Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)) http://blog.csdn.net/vipzjyno1/article/detai ...

  6. ListView中的图片异步加载、缓存

    一.ListView的图片异步加载 我们都知道对每一个Weibo Item都有用户头像,而且每一条微博还可能带有图片.如果在加载列表的同时加载图片,这样有几个缺点,第一很费事,界面卡住,用户体验很不好 ...

  7. ImageLoader 图片异步加载类库的使用

    http://blog.csdn.net/vipzjyno1/article/details/23206387 这个图片异步加载并缓存的类已经被很多开发者所使用,是最常用的几个开源库之一,主流的应用, ...

  8. 基于jQuery的图片异步加载和预加载实例

    如今的网页中有很多图片,比如相册列表,那么如果一次性读取图片将会瞬间加重服务器的负担,所以我们用jQuery来实现图片的异步加载和预加载功能,这样在页面的可视范围内才会加载图片,当拖动页面至可视界面时 ...

  9. android图片异步加载图片,Android 异步加载图片分析总结

    研究了android从网络上异步加载图像,现总结如下: (1)由于android UI更新支持单一线程原则,所以从网络上取数据并更新到界面上,为了不阻塞主线程首先可能会想到以下方法. 在主线程中new ...

最新文章

  1. python使用正则表达式删除字符串中的其它字符只保留数字和字母
  2. python入门有基础-Python入门必须知道的11个知识点
  3. Python第三章-字符串
  4. Docker 安装 Redis
  5. 【网络安全】一次实战中对tp5网站getshell方式的测试
  6. 华北水利水电大学2012级c语言实验报告,华北水利水电大学2012级c语言实验报告(5)...
  7. delphi初级教程之delphi断点调试二
  8. SpringBoot2 整合 AXIS 服务端和客户端
  9. 两年的坚持,最后还是决定将ISoft开源
  10. Docker Flie
  11. PCB Layout各层含义与分层原则
  12. 在哪下载公司考勤刷卡特殊情况说明Excel模板
  13. [极客时间] 时间复杂度和空间复杂度分析
  14. 图片的 orientation 属性
  15. 数据科学和人工智能技术笔记 二十、数据可视化
  16. EagleEye论文+代码
  17. metasequoia :Summoner
  18. 双击背面截图_ios14怎么双击后盖截图 苹果双击背面截图原理详解[多图]
  19. CStdioFile类学习
  20. Unix操作系统的历史演变

热门文章

  1. Portainer容器管理软件,安装
  2. 《区块链开发指南》一一导读
  3. MVP 在项目中的最佳实战(封装篇)
  4. linux中shell数组的使用和建立
  5. RAID入门一页通,最全的RAID技术、原理图解
  6. 实时获取麦克风语音信号
  7. IOS上路_04-简单示例-图片浏览器
  8. NAT网关自动去掉TCP syn包的时间戳
  9. SpringBoot配置RestTemplate的代理和超时时间
  10. Python教程-python字典中key的灵活使用fromkeys()