硬盘缓存方案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
打算研究android的一个图片加载库Android-Universal-Image-Loader,然后就看到了缓存的策略,于是又看到了LruCache,是一个最近最少使用算法LRU。前几天看操作系统也看到了LRU算法,是用在缺页中断发生时,进行置换算法才用的一种。缓存中的LrcCache和操作系统中的页置换算法思想是一样的,于是心血来潮,决定把这部分实现看看,然后就有了这篇博客,从HashMap...
分类:
系统相关 时间:
2016-01-07 01:21:02
阅读次数:
349
防止多图OOM的核心解决思路就是使用LruCache技术,但LruCache只是管理了内存中图片的存储与释放,如果图片从内存中被移除的话,那么又需要从网络上重新加载一次,这显然非常耗时。因此Google又提供了一套硬盘缓存的解决方案:DiskLruCache(非Google官方编写,但获得官方认证)...
分类:
系统相关 时间:
2015-12-20 23:52:17
阅读次数:
296
Android开发中,为了减少用户的流量使用和使APP体验更流畅,我们通常会使用缓存技术。通常来说,缓存分两级。第一级,是内存缓存,它的好处是,读写非常快,缺点则是,过量地使用会使APP整体变得十分卡顿,因为运行的内存不足了,甚至引起OOM。第二级则是文件缓存(File,SQLite等),文件缓.....
分类:
系统相关 时间:
2015-12-19 20:27:33
阅读次数:
244
一、概述 Android开发中,网络请求是很重要的一部分,而缓存网络请求来的图片或者响应结果字符串或者结果流,既可以省流量,同时也可以帮助我们解决无网或弱网情况下加载情况,当然也可以提升程序性能效率。纵所周知,缓存管理中肯定需要用到内存缓存,这里我们采用LruCache来管理内存的缓存。LruCa....
分类:
移动开发 时间:
2015-12-11 20:23:53
阅读次数:
239
public class LRUCache { HashMap map = new HashMap(); ListNode start; ListNode end; int capacity; int cur_size; public LRUCache(int c...
分类:
系统相关 时间:
2015-12-03 02:14:07
阅读次数:
165
MainActivity如下:importandroid.os.Bundle;importandroid.widget.GridView;importandroid.app.Activity;/***Demo描述:*在GridView中采用LruCache异步加载大量图片,避免OOM**学习资料:*...
分类:
系统相关 时间:
2015-11-16 17:08:46
阅读次数:
278
源码:/frameworks/base/core/java/android/util/LruCache.java文件开篇注释如下:A cache that holds strong references to a limited number of values. Each time a value...
分类:
移动开发 时间:
2015-11-14 00:58:32
阅读次数:
454
Android 开发中,bitmap是引起内存泄漏的罪魁祸首,关于bitmap的加载,缓存策略,官方已经给了很详细的方法:缓存之Memory Cache:缓存的策略,是利用应用程序的分配的内存拿出适当的一部分利用LruCache算法进行缓存。关于用多少内存来缓存图片,这个要根据不同的图片,机型和 屏...
分类:
移动开发 时间:
2015-10-27 11:04:46
阅读次数:
290