所谓 缓存 ,就是将程序或系统经常要调用的对象存在内存中,一遍其使用时可以快速调用,不必再去创建新的重复的实例。这样做可以减少系统开销,提高系统效率。
特点:
-
支持配置缓存大小和缓存数量,不配置的话就是没有上限,如果配置了缓存大小的和上限的话,当缓存到达最大缓存尺寸或者超过缓存个数的时候便会自动删除最老的缓存;
-
支持配置缓存路径,不配置的话默认在
/data/data/com.xxx.xxx/cache/cacheUtils
目录下; -
支持多个实例缓存,也就是可以把缓存放在不同的文件夹下,他们会根据你的缓存实例各司其职;
-
支持缓存众多数据类型,分有字节数组、String、JSONObject、JSONArray、Bitmap、Drawable、Parcelable、Serializable这八种;
-
支持缓存写入有效时长,在下次读取时失效的话默认返回
null
,也可返回自定义的默认值; -
缓存读写速度快,采用了NIO的数据读写,读取更是使用了 内存映射 ,相当于读写内存的速率;
-
支持获取缓存大小和个数;
-
支持移除某个缓存和清除所有缓存;
-
还有就是谁用谁知道有多爽。
API常用方法:
getInstance : 获取缓存实例
put : 缓存中写入数据
getBytes : 缓存中读取字节数组
getString : 缓存中读取String
getJSONObject : 缓存中读取JSONObject
getJSONArray : 缓存中读取JSONArray
getBitmap : 缓存中读取Bitmap
getDrawable : 缓存中读取Drawable
getParcelable : 缓存中读取Parcelable
getSerializable: 缓存中读取Serializable
getCacheSize : 获取缓存大小
getCacheCount : 获取缓存个数
remove : 根据键值移除缓存
clear : 清除所有缓存