缓存LruCache简单创建和使用

LruCache一般使用:

                   /**
                     * 总容量为当前进程的1/8,单位:KB
                     * sizeOf():计算缓存对象的大小,单位要一致
                     * entryRemoved():移除旧缓存时调用
                     */
                    int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);
                    int cacheSize = maxMemory / 8;
                    LruCache  lruCache = new LruCache<String, Bitmap>(cacheSize) {
                        @Override
                        protected int sizeOf(String key, Bitmap value) {
                            return value.getRowBytes() * value.getHeight() / 1024;
                        }

                        @Override
                        protected void entryRemoved(boolean evicted, String key, Bitmap oldValue, Bitmap newValue) {
                            super.entryRemoved(evicted, key, oldValue, newValue);
                        }
                    };

一般使用:

                    lruCache.put(K,V);
                    lruCache.get(K);
                    lruCache.remove(K);
时间: 2024-10-28 02:14:14

缓存LruCache简单创建和使用的相关文章

Android之本地缓存——LruCache(内存缓存)与DiskLruCache(硬盘缓存)统一框架

本文参考郭霖大神的DiskLruCache解析,感兴趣的朋友可以先到http://blog.csdn.net/guolin_blog/article/details/28863651了解. 一.前言 该框架或者说库,主要是用于本地的图片缓存处理. 数据的存入 当你取到图片的元数据,会将数据存入硬盘缓存以及内存缓存中. 数据的获取 取数据的时候,先从内存缓存中取: 如果没有取到,则从硬盘缓存中取(此时如果硬盘缓存有数据,硬盘缓存会重新将数据写入内存缓存中): 如果硬盘缓存中没有取到,则从网上重新获

Nginx专题: upstream模块和缓存的简单使用

Nginx专题: upstream模块和缓存的简单使用 前言: 本文接着上篇Nginx专题: 从编译安装到URL重写来介绍Nginx的负载均衡模块使用方法, 本文的实验没有考虑大多数情况, 例如两个web服务器之间的数据同步等, 主要写Nginx如何作为负载均衡器使用并且缓存 实验拓扑 实验环境 主机 IP地址 功用 lb.anyisalin.com 172.16.1.2 负载均衡并缓存静态资源 web1.anyisalin.com 172.16.1.3 提供web服务 web2.anyisal

linux_DNS服务器(正解/反解)的简单创建

什么是DNS? DNS(Domain Name System) 域名系统.它是如今互联网上能够相互通信的服务之一,对于现在的互联网特别特别重要的,因为在这个人们不能很好记忆数字IP地址的问题上,输入IP地址来访问其他的主机是很困难的,和不现实的,如果数字IP地址用我们所熟悉的各种名称(字符,例如:baidu taobao 等)就很好记忆啦.DNS就是来完成这个解析的功能的. DNS工作的原理: 首先,我们先了解一个内容,例如www.baidu.com, www.baidu.com 在DNS中是有

使用NSURLProtocol实现UIWebView的离线缓存的简单实现

文章介绍了使用NSURLProtocol实现UIWebView的离线缓存的简单实现,你可以在github上下载这个demo的代码. 无论是"MKNetworkKit"还是"AFCache"实现的缓存都过于复杂,而他想要的是一个简单机制: 1.你使用了UIWebView指向来显示一个有图像嵌入的网站. 2.当你的设备online时,你有正常的缓存算法. 3.当你的设备offline时,你可以显示页面的最后一个版本. 这个demo里做了一个很简单的测试:将cnn.com

js 中对象的简单创建和继承

对象的简单创建 1.通过对象直接量创建 比如 var obj = {}; 2.通过new 创建 比如 var obj = new Object(); // 相当于var obj = {}; var arr = new Array(); 3.使用 Object.create() 这个方法有两个参数,第一个参数是这个对象的原型,第二个参数用以对对象的属性进行进一步描述(可选) var obj = Object.create({x:1}); var obj1 = Object.create(null)

webservice之简单创建和发布(一个加法运算)

webservice之简单创建和发布(一个加法运算) 开发工具 visual studio 2010 WebService:严格来说是行业标准,不是技术,使用XML扩展标记语言来表示数据(这个是夸语言和平台的关键).微软的Web服务实现称为ASP.NET Web Service.它使用Soap简单对象访问协议来实现分布式环境里应用程序之间的数据交互. WSDL来实现服务接口相关的描述.此外Web services 可以注册到UDDI中心.供其客户查找使用.后来微软做了ASP.NET Web Se

数据库视图及其简单创建

视图是一个虚拟的表,该表中的数据是由一个查询语句执行后所得到的查询结果所构成的. 创建视图: CREATE VIEW VIEW_Name AS SQL 语句 例子: create view pr_例四asselect 产品.产品ID,产品.产品名称,产品.供应商,类别.类别名称,类别.说明from 产品 inner join类别 on 产品.类别ID=类别.类别ID 查看视图: select * from pr_例四 结果 数据库视图及其简单创建

简单创建json格式文件

简单创建json格式文件 核心就两点: addProperty 添加属性(也就是加键值对) add是添加 另外的object对象 然后直接toString()输出 核心代码如下; public class CreateJson { public static void main(String[] args) { JsonObject object= new JsonObject(); object.addProperty("cat", "it"); JsonArra

Android --- 简单实现三级缓存LruCache

三级缓存: 1.网络缓存 从网络获取资源 2.本地缓存 从本地获取数据 3.内存缓存 从内存获取数据 内存缓存:主要是用到了LruCache这个类,这个类比较适合用来缓存图片,它会将强引用对象放在LineedHashMap中,当缓存数据大小达到预定值的时候会将在该集合中比较少使用的对象从内存中移除. package com.itljw.zhbj.util; import android.graphics.Bitmap; import android.util.LruCache; /** * Cr