我们思考下 Imageloader类中需要维护的变量

使用内存缓存 ,肯定需要LruCache ,其中LruCache中key保存的是图片的路径,value则对应相应的图片 。这是缓存的核心类。

多线程并发,使用线程池 Executor接口,可以接受用户自定义的线程数,当然了提供默认的线程数。

图片加载策略,目前涉及两种LIFO FIFO,枚举类型,提供默认的加载策略。

任务队列,使用LinkedList 中实现,因为我们要从队列中移除队首或者队尾的数据,对于需要快速插入,删除元素,应该使用LinkedList。 任务队列中的 是Runnable对象,即我们的Task任务。

后台轮询线程 Thread
后台轮询线程的handler,当后台轮询线程处理完后通过此handler处理从线程池中取下一个任务处理

UIHanlder,用于更新显示图片。

 /*** 图片缓存的核心类   key为图片的路径 value为图片*/private LruCache<String , Bitmap>  mLruCache ;/*** 线程池 以及默认的线程数*/private ExecutorService  mThreadPool ;private static final int DEFAULT_THREAD_COUNT  = 1;/*** 图片加载策略*/private enum  Type{FIFO , LIFO ;}/*** 默认的加载策略*/private Type mType = Type.LIFO ;/*** 任务队列*/private LinkedList<Runnable> mTaskQueue ;/*** 后台轮询线程*/private Thread mPoolThread ;/*** 后台轮询线程的handler ,主要用于接收后台轮询线程的消息后从线程池中取出任务进行执行*/private Handler mPoolThreadHandler ;/*** UI线程的Handler ,主要用与接收消息更新显示图片*/private Handler mUIHandler ;

Imageloader4-ImageLoader中的变量相关推荐

  1. html img调用js,html调用js变量 如何在html中输出js文件中的变量

    html页面代码中怎么调用js变量?html页面代码中怎么调用js变量,例如 在html代码中插入js代码: a=取浏览你把index1.js 中的onReady 去掉,把index1.js改成 fu ...

  2. Go: 分布式学习利器(2)-- Go中的变量,常量 以及与其他语言变量之间的差异

    文章目录 1. Go 语言编写测试代码 2. Go 的变量 3. Go 常量定义 1. Go 语言编写测试代码 源码文件以 _test结尾: xxx_test.go 测试方法名需以Test开头: fu ...

  3. php 类中的变量的定义

    php 如果在类中定义变量,在类的方法中调用时应该加上$this-> . class ClassName {private $a = 333;function __construct(){$th ...

  4. spark 获取广播变量_Spark流式程序中广播变量和累加器为何使用单例模式

    Spark中广播变量详解以及如何动态更新广播变量​mp.weixin.qq.com 1.广播变量是只读的,使用单例模式可以减少Spark流式程序中每次job生成执行,频繁创建广播变量带来的开销 2. ...

  5. python跨行字符串 变量_在Python中有没有在多行字符串中使用变量的方法?

    所以我把这个作为邮件发送脚本的一部分:try: content = ("""From: Fromname To: Toname MIME-Version: 1.0 Con ...

  6. colab中的变量怎么读取_Fizyr Retinanet在Colab中进行目标检测

    colab中的变量怎么读取 by RomRoc 由RomRoc 带有Fizyr Retinanet的Google Colab中的对象检测 (Object Detection in Google Col ...

  7. ajax中的url如何传递变量_如何创建和参数化UDT数据类型中的变量及IN,OUT 等参数?...

    从数据类型的意义上说 UDT 并不被 CPU 所识别,而是在离线程序中自定义(组合)的数据类型. S7 程序的自定义数据类型并不能装载到 S7 CPU 中.UDT 是由递增的编辑器创建并编辑或由源文件 ...

  8. 深入解析Python中的变量和赋值运算符

    Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据 ...

  9. 简单介绍Lua中的变量与赋值方法

    今天小编就为大家分享一篇关于Lua中的变量与赋值方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧 看以下案例: test.lua -- 第一个lua脚本 ...

  10. 【C语言】宏offsetof的模拟实现 (计算结构体中某变量相对于首地址的偏移)

    首先我们应该特别留意 : offsetof 是一个宏,并非是一个函数 ! 宏offsetof的介绍 : 参数:第一个是结构体类型名称,第二个是结构体成员名 返回类型:size_t无符号整形 引用的头文 ...

最新文章

  1. Playmaker Input篇教程之Playmaker购买下载和导入
  2. UVa1344 - Tian Ji -- The Horse Racing(贪心)
  3. php 字符串 中文,php实现中文字符串截取无乱码
  4. Marshal在C#中的应用(void *指针到IntPtr的转化)
  5. 表格列展示自动扩展_进步一点点:excel表格常规操作也能很快捷
  6. 队友招募!60天一起搞定MySQL所有重点
  7. 一幅漫画趣味解读 Linux 内核
  8. 点滴记录笔记_持续更新
  9. matlab工程热力学大程序,西安交通大学工程期末编程大作业(完整版
  10. java中 implement_java中implement
  11. 【直播】陈安东,马琦钧:赛题Baseline讲解以及语音识别基础知识介绍
  12. 人月神话(四)削足适履、提纲挈领、未雨绸缪
  13. docker网络原理及cgroup
  14. 华为模拟器eNSP V100R003C00(不限速下载)
  15. 三种最流行的商业模式解析:让顾客感觉占便宜,你才能赚更多钱
  16. 一键代理浏览器_支持IPv6的防关联指纹浏览器 VMLogin 支持模拟电脑名称、支持修改MAC地址、支持模拟真人输入、支持自定义经纬度...
  17. 3.灰色预测模型(Gray Forecast Model)
  18. 继承(下)----虚继承
  19. 在windows上搭建DZ(Discuz)论坛-部署完成
  20. pandas 时间属性函数

热门文章

  1. sql 精读(一)标准 SQL 中的分析函数概念
  2. 机器学习应用方向(二)~概念漂移(concept drift)
  3. SQL 语句快速参考
  4. 机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)
  5. Python 实现有道翻译命令行版
  6. redis internal【转】
  7. 【机器人系列】支付宝支付控件输入框模拟输入,输入框模拟输入
  8. Tomcat vs. Jetty vs. Undertow: Comparison of Spring Boot Embedded Servlet Containers
  9. Exchanging Partitions and Subpartitions with Tables--官方文档
  10. 从源码角度深入分析log4j配置文件使用