2013.04.03——— android 图片缓存之一LinkedHashMap介绍
参考:
http://blog.csdn.net/miraclestar/article/details/6959416
http://inter12.iteye.com/blog/716236
我们用LinkedHashMap来实现lru缓存
public class TestLinkedHashMap {
public static void main(String[] args) {
LinkedHashMap<String, Integer> map = new LinkedHashMap<String, Integer>(3, .75f, true){
@Override
protected boolean removeEldestEntry(
java.util.Map.Entry<String, Integer> eldest) {
return size() > 3;
}
};
for(int i=0;i<3;i++){
map.put(i+"", i);
}
for(Iterator iter = map.values().iterator();iter.hasNext();){
System.out.println(iter.next());
}
map.get("0");
map.put("4", 4);
for(Iterator iter = map.values().iterator();iter.hasNext();){
System.out.println(iter.next());
}
}
}
结果:
0
1
2
2
0
4
可以看出来 这样就会删除最少使用的item了
关于第三个参数: 如果为false 就是按照 插入顺序 为true 就是按访问的顺序排序
如果 没有map.get("0"); 那么结果就为
0
1
2
1
2
4
因为我使用了 0 所以 就把1删除了
分享到:
相关推荐
在Android开发中,图片缓存是一个非常重要的环节,它能够有效地提高用户体验,减少网络请求,节省用户流量。Google官网的图片缓存源码是Android开发者深入理解图片加载机制的一个宝贵资源。下面,我们将深入探讨这个...
在Android开发中,图片缓存是一个非常重要的环节,特别是在处理大量图片的应用中,合理的缓存策略可以有效地防止因图片加载导致的内存溢出(Out of Memory,简称OOM)。LRU(Least Recently Used)算法是一种常用的...
在Android开发中,图片缓存是一个非常重要的环节,特别是在处理大量图片展示的应用中,如社交媒体、电商应用等。Google作为Android系统的开发者,自然有一套高效、优化的图片缓存策略。这个"Android Google官网的...
在Android应用开发中,图片加载和缓存是一个关键性能...以上就是关于"Android图片缓存算法的代码例子"的主要知识点,通过这些技术,我们可以有效地处理Android应用中的图片加载和缓存问题,提升应用的性能和用户体验。
在Android开发中,图片缓存是一项重要的技术,尤其是在处理网络图片加载、浏览应用等场景时。合理的图片缓存机制不仅可以提高应用性能,减少流量消耗,还能提升用户体验。本文将对一个具体的图片缓存类进行解析,...
1. 目录 1. 2. 目录 .........................................................................................................................................................1 JVM .........................
Android 图片缓存机制是 Android 开发中非常重要的一部分,它可以帮助我们更好地管理图片资源,提高应用程序的性能和用户体验。下面我们将深入了解 Android 图片缓存机制的相关知识。 一、什么是图片缓存机制? ...
1. 目录 1. 2. 目录 .........................................................................................................................................................1 JVM ........................
- **图片缓存**:在加载大量图片的应用场景中,LRUCache可以有效减少重复加载相同的图片,提高加载速度。 - **数据缓存**:对于频繁读取数据库的数据查询结果,使用LRUCache可以在内存中缓存这些结果,减少数据库的...
本文将详细介绍如何在Android应用中使用`LruCache`来缓存图片。 **1. LruCache的基本原理** LRU(Least Recently Used)算法是一种常用的页面替换策略,当缓存满时,会优先淘汰最近最少使用的数据。`LruCache`是...
1. 图片缓存:使用LruCache来缓存图片,以避免重复加载图片。 2. 数据缓存:使用LruCache来缓存数据,以避免重复加载数据。 3. 网络缓存:使用LruCache来缓存网络请求,以避免重复加载网络资源。 LruCache是一种...
在Android应用开发中,缓存机制是提升用户体验和性能的关键技术之一。本项目仿照网易新闻的图片缓存策略,旨在实现一个即使在网络断开的情况下仍能查看之前加载过的图片的功能。这一机制对于提高应用的离线可用性,...
在进行Android开发过程中,处理Bitmap图片是一个经常遇到的技术挑战。以下是在面试中可能会被问到的几个关于Bitmap的典型问题以及对应的知识点解析。 1. Bitmap使用需要注意哪些问题? - 合适的图片规格选择:优化...
9. Glide原理:Glide通过生命周期绑定,实现图片的高效加载和缓存,包括内存缓存、磁盘缓存和三级缓存策略。 10. LeakCanary原理:LeakCanary用于检测内存泄漏,通过ContentProvider初始化,监听App生命周期,弱...
这份PDF文件名为《android_interview_guide.pdf》,是一份专门针对Android开发及相关技术领域的面试指南,其中涵盖了多个重要的知识点和概念,覆盖了Java基础、Android基础、数据结构、算法、设计模式、计算机网络、...
首先,Android中的图片缓存通常分为两层:内存缓存(一级缓存)和磁盘缓存(二级缓存)。内存缓存可以快速访问,但空间有限;磁盘缓存容量较大,但访问速度相对较慢。在Android的ImageLoaderEngine类中,我们看到...
在实际应用中,比如图片缓存,我们可以这样使用LruCache: ```java int maxMemory = (int) (Runtime.getRuntime().totalMemory() / 1024); int cacheSize = maxMemory / 8; mMemoryCache = new LruCache, Bitmap>...
System.out.println(key + " : " + linkedHashMap.get(key)); } ``` 输出将是: ``` 沉 : 沉默王二 默 : 沉默王二 王 : 沉默王二 二 : 沉默王二 ``` 与HashMap不同,LinkedHashMap在遍历时会按照元素的插入顺序依次...
在Android系统中,LruCache是Android SDK提供的一种基于LinkedHashMap实现的缓存机制,适用于在内存有限的环境中进行高效的数据存储和访问。 首先,我们来了解LruCache的内部机制。LinkedHashMap是一种双向链表与...