硬盘缓存方案DiskLruCache
前面研究了LruCache,它作为现在用的最多的内存缓存方案已经在很多开源缓存框架中使用,同样的还有硬盘缓存方案也就是DiskLruCache。
它的大致用法如下
存储:
DiskLruCache diskLruCache= open(File directory, int appVersion, int valueCount, long maxS...
分类:
系统相关 时间:
2016-02-19 10:46:50
阅读次数:
239
LruCache(内存缓存) DiskLruCache(磁盘缓存) 1.创建diskLruCache 对象 private static DiskLruCache diskLruCache = DiskLruCache.open(cacheDir, appVersion, valueCount, D
分类:
移动开发 时间:
2016-02-01 02:17:20
阅读次数:
218
防止多图OOM的核心解决思路就是使用LruCache技术,但LruCache只是管理了内存中图片的存储与释放,如果图片从内存中被移除的话,那么又需要从网络上重新加载一次,这显然非常耗时。因此Google又提供了一套硬盘缓存的解决方案:DiskLruCache(非Google官方编写,但获得官方认证)...
分类:
系统相关 时间:
2015-12-20 23:52:17
阅读次数:
296
在开发安卓应用中避免不了要使用到网络图片,获取网络图片很简单,但是需要付出一定的代价——流量。对于少数的图片而言问题不大,但如果手机应用中包含大量的图片,这势必会耗费用户的一定流量,如果我们不加以处理,每次打开应用都去网络获取图片,那么用户可就不乐意了,这里的处理就是指今天要讲的缓存策略(缓存层分为...
分类:
系统相关 时间:
2015-10-18 22:57:39
阅读次数:
338
做android应用少不了要和网络打交道,在我刚开始学android的时候总是处理不好网络图片的加载,尤其是图片乱跳的问题,后来发现了各种缓存图片的方法:本地缓存、软引用、LruCache....我知道的这三种方法中,第一中和其他两种并不冲突,我们完全可以缓存到本地一份,在缓存到内存中一份。软引用这...
分类:
系统相关 时间:
2015-09-21 21:04:34
阅读次数:
235
有兴趣的同学可以读完这篇文章以后 可以看看这个硬盘缓存和volley 或者是其他 图片缓存框架中使用的硬盘缓存有什么异同点。讲道理的话,其实硬盘缓存这个模块并不难写,难就难在 你要考虑到百分之0.1的那种情况,比如写文件的时候 手机突然没电了之类的,你得保证文件正确性,唯一性等等。今天就来看看这个D...
分类:
移动开发 时间:
2015-09-17 11:22:32
阅读次数:
286
转载请标明出处:
http://blog.csdn.net/lmj623565791/article/details/47251585;
本文出自:【张鸿洋的博客】
一、概述依旧是整理东西,所以近期的博客涉及的东西可能会比较老一点,会分析一些经典的框架,我觉得可能也是每个优秀的开发者必须掌握的东西;那么对于Disk Cache,DiskLruCache可以算佼佼者了,所以我们就来分析下其...
分类:
移动开发 时间:
2015-08-03 10:09:58
阅读次数:
203
上次讲了使用内存缓存LruCache去加载很多图片而不造成OOM,而这种缓存的特点是在应用程序运行时管理内存中的资源(图片)的存储和释放,如果LruCache中有一张图片被释放了,再次加载该图片时需要重新从网络上下载下来,这就显得废流量不说,而且费时,网络不好的状况下用户需要等待,而且在没有网络的情况下不会显示任何数据。
那么怎样才能解决这种情况呢?答案就是加入硬盘缓存DiskLruCache。...
分类:
系统相关 时间:
2015-07-23 17:54:46
阅读次数:
190
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/34093441在上一篇文章其中,我们学习了DiskLruCache的概念和基本使用方法。但仅仅是掌握理论知识显然是不够的,那么本篇文章我们就来继续进阶一下。看一看在实战其中应该如何合理...
分类:
移动开发 时间:
2015-07-23 17:05:00
阅读次数:
136
上次有过电话面试中问到Android中的缓存策略,当时模糊不清的回答,现在好好理一下吧。
Android中一般情况下采取的缓存策略是使用二级缓存,即内存缓存+硬盘缓存—>LruCache+DiskLruCache,二级缓存可以满足大部分的需求了,另外还有个三级缓存(内存缓存+硬盘缓存+网络缓存),其中DiskLruCache就是硬盘缓存,下篇再讲吧!
1、那么LruCache到底是什么呢?...
分类:
移动开发 时间:
2015-07-21 18:42:03
阅读次数:
347