Imageloader4-ImageLoader中的变量
我们思考下 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中的变量相关推荐
- html img调用js,html调用js变量 如何在html中输出js文件中的变量
html页面代码中怎么调用js变量?html页面代码中怎么调用js变量,例如 在html代码中插入js代码: a=取浏览你把index1.js 中的onReady 去掉,把index1.js改成 fu ...
- Go: 分布式学习利器(2)-- Go中的变量,常量 以及与其他语言变量之间的差异
文章目录 1. Go 语言编写测试代码 2. Go 的变量 3. Go 常量定义 1. Go 语言编写测试代码 源码文件以 _test结尾: xxx_test.go 测试方法名需以Test开头: fu ...
- php 类中的变量的定义
php 如果在类中定义变量,在类的方法中调用时应该加上$this-> . class ClassName {private $a = 333;function __construct(){$th ...
- spark 获取广播变量_Spark流式程序中广播变量和累加器为何使用单例模式
Spark中广播变量详解以及如何动态更新广播变量mp.weixin.qq.com 1.广播变量是只读的,使用单例模式可以减少Spark流式程序中每次job生成执行,频繁创建广播变量带来的开销 2. ...
- python跨行字符串 变量_在Python中有没有在多行字符串中使用变量的方法?
所以我把这个作为邮件发送脚本的一部分:try: content = ("""From: Fromname To: Toname MIME-Version: 1.0 Con ...
- colab中的变量怎么读取_Fizyr Retinanet在Colab中进行目标检测
colab中的变量怎么读取 by RomRoc 由RomRoc 带有Fizyr Retinanet的Google Colab中的对象检测 (Object Detection in Google Col ...
- ajax中的url如何传递变量_如何创建和参数化UDT数据类型中的变量及IN,OUT 等参数?...
从数据类型的意义上说 UDT 并不被 CPU 所识别,而是在离线程序中自定义(组合)的数据类型. S7 程序的自定义数据类型并不能装载到 S7 CPU 中.UDT 是由递增的编辑器创建并编辑或由源文件 ...
- 深入解析Python中的变量和赋值运算符
Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据 ...
- 简单介绍Lua中的变量与赋值方法
今天小编就为大家分享一篇关于Lua中的变量与赋值方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧 看以下案例: test.lua -- 第一个lua脚本 ...
- 【C语言】宏offsetof的模拟实现 (计算结构体中某变量相对于首地址的偏移)
首先我们应该特别留意 : offsetof 是一个宏,并非是一个函数 ! 宏offsetof的介绍 : 参数:第一个是结构体类型名称,第二个是结构体成员名 返回类型:size_t无符号整形 引用的头文 ...
最新文章
- Playmaker Input篇教程之Playmaker购买下载和导入
- UVa1344 - Tian Ji -- The Horse Racing(贪心)
- php 字符串 中文,php实现中文字符串截取无乱码
- Marshal在C#中的应用(void *指针到IntPtr的转化)
- 表格列展示自动扩展_进步一点点:excel表格常规操作也能很快捷
- 队友招募!60天一起搞定MySQL所有重点
- 一幅漫画趣味解读 Linux 内核
- 点滴记录笔记_持续更新
- matlab工程热力学大程序,西安交通大学工程期末编程大作业(完整版
- java中 implement_java中implement
- 【直播】陈安东,马琦钧:赛题Baseline讲解以及语音识别基础知识介绍
- 人月神话(四)削足适履、提纲挈领、未雨绸缪
- docker网络原理及cgroup
- 华为模拟器eNSP V100R003C00(不限速下载)
- 三种最流行的商业模式解析:让顾客感觉占便宜,你才能赚更多钱
- 一键代理浏览器_支持IPv6的防关联指纹浏览器 VMLogin 支持模拟电脑名称、支持修改MAC地址、支持模拟真人输入、支持自定义经纬度...
- 3.灰色预测模型(Gray Forecast Model)
- 继承(下)----虚继承
- 在windows上搭建DZ(Discuz)论坛-部署完成
- pandas 时间属性函数
热门文章
- sql 精读(一)标准 SQL 中的分析函数概念
- 机器学习应用方向(二)~概念漂移(concept drift)
- SQL 语句快速参考
- 机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)
- Python 实现有道翻译命令行版
- redis internal【转】
- 【机器人系列】支付宝支付控件输入框模拟输入,输入框模拟输入
- Tomcat vs. Jetty vs. Undertow: Comparison of Spring Boot Embedded Servlet Containers
- Exchanging Partitions and Subpartitions with Tables--官方文档
- 从源码角度深入分析log4j配置文件使用