LRU算法
yangxi_001
这个作者很懒,什么都没留下…
展开
-
Android高效加载大图、多图解决方案,有效避免程序OOM
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9316683本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文。http://developer.android.com/training/displaying-bitmaps/index.html转载 2013-11-26 13:09:33 · 484 阅读 · 0 评论 -
图片缓存(源于SDK文档)
大家都知道,现在的手机屏幕分辨率是越来越大了,虽然之前我们介绍了异步加载图片的方法。但要知道,一个应用可用的内存是有限的。我们不可能将所有的内存都用来存储图片,也不可能为了内存而每次取图片时都上网下载(流量费是很贵滴,而且下载也很耗电啊)。因此,对于已下载的图片,我们需要在本地维持一个缓存。内存缓存LurCache是一个内存缓存类(Android3.1引入,通过v4的支援包,可以在AP转载 2013-11-28 10:29:22 · 766 阅读 · 0 评论 -
LRU算法简单例子
package com.aspboy.base.cache;/* * Created on 2004-8-18 * *“最近最少使用算法”(LRU算法),它是将最近一段时间内最少被访问过的行淘汰出局。 *因此需要为每行设置一个计数器,LRU算法是把命中行的计数器清零,其他各行计数器加1。 *当需要替换时淘汰行计数器计数值最大的数据行出局。 *这是一种高效、科学的算法,转载 2013-11-26 13:10:53 · 1020 阅读 · 0 评论 -
LRUCache和FastLRUCache实现分析
1、LRUCache的实现分析在分析LRUCache前先对LinkedHashMap做些介绍。LinkedHashMap继承于HashMap,它使用了一个双向链表来存储Map中的Entry顺序关系,这种顺序有两种,一种是LRU顺序,一种是插入顺序,这可以由其构造函数public LinkedHashMap(int initialCapacity,float loadFactor, bool转载 2013-11-26 13:06:05 · 596 阅读 · 0 评论 -
android 缓存管理及LRU算法
1、为什么要用缓存缓存是存取数据的临时地,因为取原始数据代价太大了,加了缓存,可以取得快些。缓存可以认为是原始数据的子集,它是从原始数据里复制出来的,并且为了能被取回,被加上了标志。在android开发中,经常要访问网络数据比如大量网络图片,如果每次需要同一张图片都去网络获取,这代价显然太大了。可以考虑设置本地文件缓存和内存缓存,存储从网络取得的数据;本地文件缓存空间并非是无限大的转载 2013-11-26 13:12:45 · 499 阅读 · 0 评论 -
最简单的LRU算法java实现
LRU算法用途之广就不说了,凡是要用cache的地方都可以见到它的身影。特别是线程多,并发高,数据量大的环境下。 jdk1.5真好,在LinkedHashMap.java的源码中直接有这样的字样、“This kind of map is well-suited to building LRU caches.......The removeEldestEntry(Map.Entry)转载 2013-11-26 13:11:35 · 2017 阅读 · 0 评论 -
LRUCache
[java] view plaincopyprint?import java.util.LinkedHashMap; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class LRUCache extends LinkedHas转载 2013-11-26 13:08:15 · 597 阅读 · 0 评论 -
Android提供的LruCache类简介
package android.util; import java.util.LinkedHashMap; import java.util.Map; /** * A cache that holds strong references to a limited number of values. Each time * a value is acce转载 2013-11-26 12:55:33 · 595 阅读 · 0 评论 -
Android之ListView优化(使用Lrucache,图片滑动时使用默认图片,停止时加载)
注意:LruCache是有版本限制的,低版本的sdk需要在libs文件夹添加相应的support-4v文件。本文改造的大部分是参考http://www.iteye.com/topic/1118828,感谢。不废话直接上工程代码,内有关键注释,项目就不上传了,自己对照着上面网址改呗。首先是Application文件,负责创建图片存储文件夹:public class MyA转载 2013-11-26 15:20:03 · 741 阅读 · 0 评论 -
对象缓冲池--采用最近最久未使用策略(LRUCache )管理对象,同时带有事件监听功能
1.LRUCacheWithListener :逻辑在这里实现 对象缓冲池---采用最近最久未使用策略管理对象,同时带有事件监听功能工作原理:采用集合框架(Java.connection包)来实现最近最久未使用对象池首先构造对象池、设置池的大小放置对象到池中,保存时候,池的指针指向该对象,以表明该对象最近最短被使用过当把新的对象放入到池中时候,池已经满,那把删除最久没有被使转载 2013-11-26 15:07:52 · 741 阅读 · 0 评论 -
android 缓存管理及LRU算法
1、为什么要用缓存缓存是存取数据的临时地,因为取原始数据代价太大了,加了缓存,可以取得快些。缓存可以认为是原始数据的子集,它是从原始数据里复制出来的,并且为了能被取回,被加上了标志。在android开发中,经常要访问网络数据比如大量网络图片,如果每次需要同一张图片都去网络获取,这代价显然太大了。可以考虑设置本地文件缓存和内存缓存,存储从网络取得的数据;本地文件缓存空间并非是无限大的转载 2013-11-28 21:44:27 · 742 阅读 · 0 评论