三级图片缓存介绍

关于图片的三级缓存策略(内存LruCache+磁盘DiskLruCache+网络Volley)

在开发安卓应用中避免不了要使用到网络图片,获取网络图片很简单,但是需要付出一定的代价——流量。对于少数的图片而言问题不大,但如果手机应用中包含大量的图片,这势必会耗费用户的一定流量,如果我们不加以处理,每次打开应用都去网络获取图片,那么用户可就不乐意了,这里的处理就是指今天要讲的缓存策略(缓存层分为三层:内存层,磁盘层,网络层)。

关于缓存层的工作,当我们第一次打开应用获取图片时,先到网络去下载图片,然后依次存入内存缓存,磁盘缓存,当我们再一次需要用到刚才下载的这张图片时,就不需要再重复的到网络上去下载,直接可以从内存缓存和磁盘缓存中找,由于内存缓存速度较快,我们优先到内存缓存中寻找该图片,如果找到则运用,如果没有找到(内存缓存大小有限),那么我们再到磁盘缓存中去找。只要我们合理的去协调这三层缓存运用,便可以提升应用性能和用户体验。

1、内存层:(手机内存)

内存缓存相对于磁盘缓存而言,速度要来的快很多,但缺点容量较小且会被系统回收,这里的实现我用到了LruCache。

LruCache这个类是Android3.1版本中提供的,如果你是在更早的Android版本中开发,则需要导入android-support-v4的jar包。

磁盘层:(SD卡)

相比内存缓存而言速度要来得慢很多,但容量很大,这里的实现我用到了DiskLruCache类。

DiskLruCache是非Google官方编写,但获得官方认证的硬盘缓存类,该类没有限定在Android内,所以理论上java应用也可以使用DiskLreCache来缓存。

这是DiskLruCache类的下载地址:http://pan.baidu.com/s/1hq0D53m

网络层:(移动网络,无线网络)

这个就没什么解释的了,就是我们上网用的流量。这里的网络访问实现我用到了开源框架Volley。

开源框架Volley是2013年Google I/O大会发布的,Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮。它的设计目标就是非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕。

这是Volley的下载地址:http://pan.baidu.com/s/1hq1t2yo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
此源码为了缩减内容不带任何图片数据,请搭建后自己采集或者录入,采集不会的话可以百度找一下采集教程,,也可以直接去淘宝上找做采集的,价格也不是很贵! 本帖资源标签:WordPress自适应图片主题,主题模板,带会员积分下载系统 分类和标签添加筛选功能; 列表增加用户自定义排序功能,支持点赞和浏览数量排序; 优化二级菜单和三级菜单的css样式; 支持会员功能和用户中心模板; 支持第三方快速登陆(QQ和新浪); 新增单图模式,全新的图片浏览模式; 新增登陆、注册、找回密码三合一页面模板; 新增文章点赞排行榜页面; 新增AJAX列表加载功能; 新增广告投放面板; 支持点卡充值和点卡生成功能; 支持积分签到功能; 支持评论和投稿奖励积分功能; 支持积分开通会员功能(目前内置3个级别的会员); 支持积分下载资源和免费资源下载; 支持vip免费资源添加; 新增下载资源管理员和作者查看下载次数和校验资源功能; 支持文章前台投稿功能; 支持前台开启相对地址和绝对地址切换功能; 新增图片自动分页功能; 新增图片分页浏览模板; 新增后台列表显示缩略图和封面图片功能; 全新的SEO功能; 新增文章收藏功能; 新增文章顶踩功能(踩的按钮目前只在单图模式显示); 新增图片预加载功能; 幻灯片支持外链和自定义大图; 源码测试环境推荐php5.2/5.3/5.4Mysql 安装说明: 上传文件拿到网站根目录,直接安装即可,附带wordpress。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值