ASimpleCache 轻量级缓存
来源:互联网 发布:返利机器人源码 编辑:程序博客网 时间:2024/06/05 13:30
0简述
简述为ASimpleCache官网(点击打开链接)对其介绍,ASimpleCache 是一个为android制定的 轻量级的 开源缓存框架。轻量到只有一个java文件(由十几个类精简而来)。
0.1ASimpleCache可以缓存什么
普通的字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java对象,和 byte数据。
0.2ASimpleCache有什么特色
(1)轻:轻到只有一个JAVA文件;
(2)可配置:可以配置缓存路径,缓存大小,缓存数量等;
(3)可以设置缓存超时时间,缓存超时自动失效,并被删除;
(4)支持多进程。
(4)支持多进程。
0.3ASimpleCache在Android中的使用场景
(1)替换SharePreference当做配置文件;
(2)可以缓存网络请求数据,可以作为app数据(字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java对象,和 byte数据)的缓存工具;
(3)可以作为预加载数据的缓存库;
1ASimpleCache的使用
ASimpleCache使用起来太简单了,尤其是使用过SharePreference。
1.1缓存字符串
首先,创建ASimpleCache对象:
- //缓存
- private ACache mACache;
- mACache = ACache.get(this);
- mACache.put(Constants.KEY_STRING, result);
- String result = mACache.getAsString(Constants.KEY_STRING);
- mACache.remove(Constants.KEY_STRING);
1.2缓存JsonObject
首先,创建ASimpleCache对象:
- //缓存
- private ACache mACache;
- mACache = ACache.get(this);
- mACache.put(Constants.KEY_JSONOBJECT, jsonObject);
- JSONObject result = mACache.getAsJSONObject(Constants.KEY_JSONOBJECT);
- mACache.remove(Constants.KEY_JSONOBJECT);
1.3缓存JsonArray
首先,创建ASimpleCache对象:
其次,存储数据:
还有,获取缓存数据:
最后,清除缓存:
- //缓存
- private ACache mACache;
- mACache = ACache.get(this);
- mACache.put(Constants.KEY_JSONARRAY, jsonArray);
- JSONArray result = mACache.getAsJSONArray(Constants.KEY_JSONARRAY);
- mACache.remove(Constants.KEY_JSONARRAY);
1.4缓存Bitmap
首先,创建ASimpleCache对象:
其次,存储数据:
还有,获取缓存数据:
最后,清除缓存:
- //缓存
- private ACache mACache;
- mACache = ACache.get(this);
- Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
- mACache.put(Constants.KEY_BITMAP, bitmap);
- Bitmap bitmap = mACache.getAsBitmap(Constants.KEY_BITMAP);
- mACache.remove(Constants.KEY_BITMAP);
1.5缓存Drawable
首先,创建ASimpleCache对象:
其次,存储数据:
还有,获取缓存数据:
最后,清除缓存:
- //缓存
- private ACache mACache;
- mACache = ACache.get(this);
- Drawable drawable = getResources().getDrawable(R.mipmap.ic_launcher);
- mACache.put(Constants.KEY_DRAWABLE, drawable);
- Drawable bitmap = mACache.getAsDrawable(Constants.KEY_DRAWABLE);
- mACache.remove(Constants.KEY_DRAWABLE);
1.6缓存序列化的java对象
首先,创建ASimpleCache对象:
其次,存储数据:
- //缓存
- private ACache mACache;
- mACache = ACache.get(this);
- mACache.put(Constants.KEY_JAVA_BEAN, mWeather);
- Weather result = (Weather) mACache.getAsObject(Constants.KEY_JAVA_BEAN);
- mACache.remove(Constants.KEY_JAVA_BEAN);
1.7缓存byte数据
首先,创建ASimpleCache对象:
- private ACache mACache;
- mACache = ACache.get(this);
- private void saveByte() {
- OutputStream ostream = null;
- try {
- ostream = mACache.put(Constants.KEY_BYTE);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- if (ostream == null) {
- ToastUtil.simpleToast(this, "Open stream error!");
- return;
- }
- try {
- URL u = new URL(Constants.downloadUrl);
- HttpURLConnection conn = (HttpURLConnection) u.openConnection();
- conn.connect();
- InputStream stream = conn.getInputStream();
- byte[] buff = new byte[1024];
- int counter;
- while ((counter = stream.read(buff)) > 0) {
- ostream.write(buff, 0, counter);
- }
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- // cache update
- ostream.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- runOnUiThread(new Runnable() {
- @Override
- public void run() {
- showTv.setText("done...");
- }
- });
- }
- }
- private void getsByte() {
- InputStream stream = null;
- try {
- stream = mACache.get(Constants.KEY_BYTE);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- if (stream == null) {
- ToastUtil.simpleToast(this, "Bitmap cache is null ...");
- showTv.setText("file not found");
- return;
- }
- try {
- showTv.setText("file size: " + stream.available());
- } catch (IOException e) {
- showTv.setText("error " + e.getMessage());
- }
- }
- mACache.remove(Constants.KEY_BYTE);
2总结
对于一个框架的学习这还没有完哦!接下来我将会从以下方面进行撰写博客:
(1)结合项目来玩ASimpleCache;
(2)分析ASimpleCache源码;
(3)如果要我设计一个缓存框架,我会怎么玩?
0 0
- ASimpleCache 轻量级缓存
- Android 轻量级缓存框架:ASimpleCache
- 轻量级Android缓存框架ASimpleCache
- 轻量级Android缓存框架ASimpleCache
- 轻量级Android缓存框架ASimpleCache
- Android轻量级缓存框架ASimpleCache
- android轻量级缓存框架ASimpleCache分析
- android--轻量级缓存框架ASimpleCache分析
- Android 轻量级缓存框架ASimpleCache分析
- android轻量级缓存框架ASimpleCache分析
- android轻量级缓存框架ASimpleCache分析
- 轻量级的 开源缓存框架ASimpleCache
- Android轻量级的开源缓存框架ASimpleCache
- 推荐一个轻量级缓存框架——ACache(ASimpleCache)
- android轻量级缓存框架ASimpleCache的使用 (网络请求数据并缓存)
- android轻量级缓存框架ASimpleCache的使用 (网络请求数据并缓存)
- android轻量级开源缓存框架——ASimpleCache(ACache)源码分析
- Android轻量级开源缓存框架——ASimpleCache(ACache)源码分析
- java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter
- HTTPS详解
- mysql创建用户报错ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value
- python-"is" v.s. "=="
- 滑动框选图片,自定义RecyclerView
- ASimpleCache 轻量级缓存
- 创建vert和frag函数
- NGUI 粒子系统裁剪
- cxf框架Demo1
- log4j学习(二)不同类的日志输出到不同的文件
- Java List(ArrayList初始化)删除元素
- android webview 常用设置 - 记录
- Mac常用快捷键
- JVM 类加载过程