2.22 ImageLoader源码解析

less than 1 minute read

2.22.1 ImageLoader

  • 架构图(引用自Code KK)

架构图

  • ImageLoader, 提供displayImage()loadImage(), 提供加载, 显示图片的接口
  • ImageLoaderEngine, LoadAndDisplayImageTask, ProcessAndDisplayImageTask任务分发, 维护线程池
  • ProcessAndDisplayImageTask, 处理并显示图片
  • LoadAndDisplayImageTask, 加载显示图片
  • BitmapDisplayer,调用#setImageDrawable, 把图片显示在ImageAware
  • Cache,缓存接口, 分为内存缓存和磁盘缓存, 其中MemoryCache即内存缓存, 默认使用LruMemoryCache内存缓存, Lru使用LinkedHashMap实现; DiskCache即磁盘缓存, 默认使用UnlimitedDiskCache, 无限制大小的磁盘缓存策略
  • ImageDownloader, 图片下载器, 支持HTTPFILEASSETS等文件流