位置: 编程技术 - 正文

Android ImageLoader 本地缓存

编辑:rootadmin

推荐整理分享Android ImageLoader 本地缓存,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

Android ImageLoader 本地缓存

本地缓存 在缓存文件时对文件名称的修改提供了两种方式,每一种方式对应了一个Java类1) HashCodeFileNameGenerator,该类负责获取文件名称的hashcode然后转换成字符串。2) Md5FileNameGenerator,该类把源文件的名称同过md5加密后保存。两个类都继承了FileNameGenerator接口在DefaultConfigurationFactory类中提供了一个工厂方法createFileNameGenerator,该方法返回了一个默认的FileNameGenerator对象:HashCodeFileNameGenerator.

实现 首先定义了DiscCacheAware接口,该接口提供了如下方法File getFileDectory() 返回磁盘缓存的根目录 File get(String imageUri) 根据uri从缓存中获取图片 boolean save(String imageUri,InputStream iamgeStream,IoUtils.CopyListener listener) 把图片保存在磁盘缓存上 boolean save(String imageUri,Bitmap bitmap) 保存bitmap对象到磁盘缓存上 boolean remove(imageUri) 根据imageUri删除文件 void close() 关闭磁盘缓存,释放资源 void clear() 清空磁盘缓存然后定义了另外一个没方法的接口DiskCache,该接口只是简单的继承了DiscCacheAware接口。BaseDiscCache实现了DiskCache,该类是个抽象类,该类定义了磁盘缓冲区的以下的属性:1) 默认的缓存大小为k2) 默认压缩后的图片&#;式为PNG(作为Bitmap的compress方法的第一个参数)3) 默认压缩后图片显示的质量为,也就是压缩率为0,不进行压缩(作为compress的第二个参数)提供了修改压缩图片&#;式和压缩率以及修改缓存大小的set方法。同时该类还封装了以下三个属性构造函数 1) 只有一个参数的构造函数只初始化了cacheDir,没有用到后备缓存,且是以HashCodeFileNameGenerator来生成目标文件的文件名。2) 两个参数的构造器除了cacheDir和HashCodefileNameGenerator外,也可以初始化后备缓存3) 三个参数的构造器要求必须初始化cacheDir并且必须初始化filenNameGenerator否则就报异常get(String imageUri) save(String imageUri, Bitmap bitmap)

BaseDiscCache有两个扩展类,一个是不限制缓存大小的UnlimitedDiscCache和限制缓存时间的LimitedAgeDiscCache,其中UnlimitedDiscCache很简单它只是简单的继承了BaseDiscCache并未对BaseDiscCache做任何扩展。

Android ImageLoader 本地缓存

LimitedAgeDiscCache该类实现了在缓存中删除被加载超过规定时间的文件:满足以下条件的时候就从缓存中删除文件:系统当前时间-文件的最新修改时间 > maxFileAge

LimitedAgeDiscCache

该类提供了两个属性:

1. maxFileAge(long)设置加载的超时的最大时间,改时间在构造器冲初始化,一经初始化就不能改变(设定文件存活的最长时间,当超过这个&#;,就删除该文件)

2. loadingDates (Map<File,long>),该属性是一个map类型的对象,key保存的要缓存的图片文件,而value保存的是调用save方法是系统的当前时间,具体向loadingDates填充数据是在下面的rememberUsage方法中实现的,该方法在类中两个save方法中调用,首先调用父类的save方法,然后在调用此方法

从缓存中获取数据的方法为get(String imageUri)该类是重写BaseDiscDache方法,该方法从loadingDates中获取imageUri所代表的图片的最新更新时间loadingDate,然后拿当前时间和loadingDate做差,如果差&#;大于maxFileAge也就是说查过了加载的最大时间,就删除该imageUri所代表的file,并从loadingDates中的数据,当然如果map中没有imageUri就不会涉及到超时的问题,此时就把image放入map中去,具体的实现如下

Android 缓存框架:ASimpleCache 今天用到了一个神奇的缓存矿街,用它可以代替我们常用的偏好设置(SharePreference)来保存用户的配置-----------------------------------------以下摘自Github------

推荐几个非常有用的工具 转载自:

Android多分辨率适配经验总结 Android多分辨率适配是一件很有意义但是比较麻烦的事情,网上有很多关于多分辨率适配的文章,多数文章讲解的都是整个APP的图片比较规则,可以将图

标签: Android ImageLoader 本地缓存

本文链接地址:https://www.jiuchutong.com/biancheng/385138.html 转载请保留说明!

上一篇:Android ART介绍(安卓art set)

下一篇:Android 缓存框架:ASimpleCache(android缓存机制)

  • 改革性补贴是否属于规范的津贴补贴
  • 定额发票收入怎么报税
  • 增值税电子普通发票和增值税专用发票区别
  • 公司茶水间有什么
  • 增值税进项抵扣怎么做账
  • 食堂买菜未取得消费凭证
  • 企业合并相关舞弊风险有哪些
  • 货币资金核算的调查报告
  • 资产减值损失确认后,减值资产的折旧
  • 冲销暂估入库
  • 堤围防护费什么时候停止征收
  • 转给个人账户的钱可以追回来了吗?
  • 可供出售金融资产包括哪些内容
  • 购电子承兑汇票差额计入什么科目?
  • 装修改造费用按多少年摊销
  • 4s店改装车后卖车合法吗
  • 办公用品增值税专用发票税点
  • 二手房有不动产统一发票吗
  • 直接收费金融服务、提供贷款服务和金融商品转让税率
  • 预提工程成本的会计分录
  • 土地的契税和印花税记入什么科目
  • 电商平台名称怎么注册
  • 房地产增值税如何抵扣
  • 现金股利属于什么所得
  • 运输公司租赁车辆怎么做账
  • 公司注册资金抽逃
  • 最新版win10激活
  • 洗车店如何开
  • PHP:proc_close()的用法_命令行函数
  • 其他应付款如何调平
  • 无偿接收股权
  • php addslashes函数
  • 资产负债表各项目年初余额栏内各项数字
  • 所得税费用当月计提吗
  • 企业对外担保能收担保费吗
  • 基础土建工程是干什么的
  • 公司账本凭证保存期限
  • 各会计科目的含义
  • 递延所得税资产借贷方向
  • 帝国cms使用手册
  • 农业技术服务费税率
  • 营改增小规模纳税人认定标准
  • 企业会计准则在建工程转固定资产
  • 专项资金支出时间规定
  • 汇算清缴是什么
  • 财务费用包含了利息费用吗
  • 租赁期间因占有、使用租赁物获得的收益
  • 租厂房需要办环评注意事项
  • 公司注销后如何起诉他人
  • 支付政协扶贫款怎么做账
  • 上月有留底税额时本月缴纳税款时怎么做分录
  • 公司购买的意外险计入什么科目
  • 蔬菜销售方式
  • 体检收据可以入档案吗
  • 制造费用和直接人工的区别
  • 暂估应付账款余额在贷方
  • ゆうちょ银行转账步骤
  • 私人银行卡给公司走账有影响吗
  • 记账凭证的基本要素包括哪些
  • 账簿设计要以()为前提
  • sql server入门新手教程
  • msde安装1秒不动了
  • 无法启动diagnostic policy service服务
  • Windows系统通过注册表实现打开CMD并定位到指定文件夹
  • win7系统关闭开机启动项设置
  • win8 网络连接
  • 进程mmc.exe
  • win10系统出现蓝色框框
  • 保存 linux
  • owmngr.exe - owmngr是什么进程 作用是什么
  • 升级win10系统后安装谷歌打不开
  • perl use of uninitialized
  • javascript解决了什么问题
  • linux命令及含义
  • 使用jquery实现的项目
  • jquery自定义的方法有哪些
  • android事件处理方式有几种
  • Python实现Sqlite将字段当做索引进行查询的方法
  • bootstrap要学到什么程度
  • 湖南低保查询网上查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设