Android用LruCache来取代原来强引用和软引用实现内存缓存,因为据说自2.3以后Android将更频繁的调用GC,导致软引用缓存的数据极易被释放。 LruCache使用一个LinkedHashMap简单的实现内存的缓存,没有软引用,都是强引用。根据LinkedHashMap的结构原理,最新的应该在尾端,旧的应该在头部。如果添加的数据大于设置的最大值,就删除最先缓存(头部)的数据来调整内存。...
分类:
移动开发 时间:
2015-06-27 10:02:13
阅读次数:
230
前言:
在上一篇文章中介绍了内存缓存,内存缓存的优点就是很快,但是它又有缺点:
空间小,内存缓存不可能很大;内存紧张时可能被清除;在应用退出时就会消失,做不到离线;
基于以上的缺点有时候又需要另外一种缓存,那就是磁盘缓存。大家应该都用过新闻客户端,很多都有离线功能,功能的实现就是磁盘缓存。
DiskLruCache:
在Android中用到的磁盘缓存大多都是基于Dis...
分类:
移动开发 时间:
2015-06-23 15:48:33
阅读次数:
156
数据缓存,就是把从网络上加载过来的数据,存到本地,目的是方便以后调用相同数据的时候,直接读缓存,不需要网络请求,既节省了client端的时间成本,有节省了serve端的负载成本。ios当中,缓存的对象NSUrlCache,iOS 5之前:只支持内存缓存。从iOS 5开始:同时支持内存缓存和硬盘缓存。...
分类:
移动开发 时间:
2015-06-19 18:11:45
阅读次数:
166
一、大访问量,并发高1.负载均衡lvs+dr(directive-route)直接路由2.高可用 keepalived二、大数据存储1.分布式存储(MFS,FDFS,NFS)2.mysql(主从,分区)3.内存缓存(redis,memecache)三、网站加速1.CDN,智能DNS,反向代理(squ...
分类:
Web程序 时间:
2015-06-17 11:07:21
阅读次数:
183
前言:上面两篇博客已经讲了图片的基本知识和图片的加载方法及优化,所有的这些优化都是为了避免应用出现OOM这个问题。一个好的应用程序不仅要健壮不能出错还要方便用户使用,对于用户来说你的应用不仅要美观还要流畅,很快的呈现给他想要的。很快的加载图片除了加载的优化外还需要缓存,下面这篇博客将会讲图片缓存。什...
分类:
移动开发 时间:
2015-06-17 00:28:11
阅读次数:
156
前言:
上面两篇博客已经讲了图片的基本知识和图片的加载方法及优化,所有的这些优化都是为了避免应用出现OOM这个问题。一个好的应用程序不仅要健壮不能出错还要方便用户使用,对于用户来说你的应用不仅要美观还要流畅,很快的呈现给他想要的。很快的加载图片除了加载的优化外还需要缓存,下面这篇博客将会讲图片缓存。
什么是缓存?
缓存技术原理就是把用户访问的所有对象看作一个全集,经过算法标记哪些...
分类:
移动开发 时间:
2015-06-16 19:14:20
阅读次数:
188
一、问题描述 Android应用中经常涉及从网络中加载大量图片,为提升加载速度和效率,减少网络流量都会采用二级缓存和异步加载机制,所谓二级缓存就是通过先从内存中获取、再从文件中获取,最后才会访问网络。内存缓存(一级)本质上是Map集合以key-value对的方式存储图片的url和Bitmap信息,....
分类:
移动开发 时间:
2015-06-15 14:25:33
阅读次数:
246
数据缓存,就是把从网络上加载过来的数据,存到本地,目的是方便以后调用相同数据的时候,直接读缓存,不需要网络请求,既节省了client端的时间成本,有节省了serve端的负载成本。ios当中,缓存的对象NSUrlCache,iOS 5之前:只支持内存缓存。从iOS 5开始:同时支持内存缓存和硬盘缓存。...
分类:
移动开发 时间:
2015-06-12 13:05:21
阅读次数:
233
Why Cache有时候,对同一个URL请求多次,返回的数据可能都是一样的,比如服务器上的某张图片,无论下载多少次,返回的数据都是一样的。上面的情况会造成以下问题
(1)用户流量的浪费
(2)程序响应速度不够快
解决上面的问题,一般考虑对数据进行缓存。数据缓存为了提高程序的响应速度,可以考虑使用缓存(内存缓存\硬盘缓存)r
第一次请求数据时,内存缓存中没有数据,硬盘缓存中没有数...
分类:
移动开发 时间:
2015-06-10 08:57:53
阅读次数:
156
mysqldump用于数据库备份1)处于性能来说mysqldump比较适合innodb的备份,而MYISAM比较适合mysqlhotcopymysqldump备份数据有两种备份方式:把全表先放进缓存区再备份;一行一行备份(不经内存缓存区)2)mysqldump--opt(-mysqldump自己默认--opt,它自动使能--quick)一行一行备..
分类:
数据库 时间:
2015-06-08 19:46:42
阅读次数:
174