annieBaby

http://www.codeceo.com/article/asimplecache-android-cache.html

ASimpleCache可以缓存哪些东西

ASimpleCache基本可以缓存常用的Android对象,包括但不限于以下几种类型:

  • 普通字符串
  • JSON对象
  • 经过序列化的Java对象
  • 字节数组

ASimpleCache的特点

  • 轻量级,只有一个Java文件
  • 完整而灵活的配置,可以配置缓存路径,缓存大小,缓存数量,缓存超时时间等。
  • 超时缓存自动失效,并从内存中自动删除。
  • 多进程的支持

在Android开发中,我们可以用ASimpleCache来替换SharePreference配置文件,特别是如果你的应用经常要从互联网上读取数据,那么利用ASimpleCache可以缓存这些请求数据,等一段时间失效后再去重新读取,这样可以减少客户端流量,同时减少服务器并发量。

一、android缓存的介绍

Android开发本质上就是手机和互联网中的web服务器之间进行通信,就必然需要从服务端获取数据,而反复通过网络获取数据是比较耗时的,特别是访问比较多的时候,会极大影响了性能,Android中可通过二级缓存来减少频繁的网络操作,减少流量、提升性能。

1.二级缓存定义:

当Android端需要获得数据时比如获取网络中的图片,我们首先从内存中查找(按键查找),内存中没有的再从磁盘文件或sqlite中去查找,若磁盘中也没有才通过网络获取;当获得来自网络的数据,就以key-value对的方式先缓存到内存(一级缓存),同时缓存到文件或sqlite中(二级缓存)。注意:内存缓存会造成堆内存泄露,所有一级缓存通常要严格控制缓存的大小,一般控制在系统内存的1/4。

2.保存在本地了怎么更新网络数据呢?

  理解了二级缓存大家可能会有个问题网络中的数据是变化的,数据一旦放入缓存中,再取该数据就是从缓存中获得,这样岂不是不能体现数据的变化?我们在缓存数据时会设置有效时间,比如说30分钟,若超过这个时间数据就失效并释放空间,然后重新请求网络中的数据。有的童鞋就问30分钟内咋办?那好吧,我也没招了,只有下拉刷新了吧,实际上这不是问题。

二、本篇就介绍下Acache缓存

ACache是一个为android制定的轻量级的开源缓存框架。轻量到只有一个java文件(由十几个类精简而来)。

1、它可以缓存什么东西?

普通的字符串、json、序列化的java对象,和字节数字。

2、它有什么特色?

特色主要是:
1:轻,轻到只有一个JAVA文件。
2:可配置,可以配置缓存路径,缓存大小,缓存数量等。
3:可以设置缓存超时时间,缓存超时自动失效,并被删除。
4:多进程的支持。

3.使用

分类:

技术点:

相关文章: