zoukankan      html  css  js  c++  java
  • Android acache读后感

      今天了解到了一个android轻量级的开源缓存框架,(github:https://github.com/yangfuhai/ASimpleCache),花了一点时间研究了一下源代码,大概的思路就是每个缓存目录对应一个Acache类,通过mInstanceMap关联(个人觉得这个主要是减少对象的创建吧,源码上用的hashmap,不过我感觉可以用weakmap), 这个框架可以设定缓存的时间,其实就是每个缓存对应一个文件,缓存文件的格式为 “写入内容时的时间-设置的缓存时间(mSeparator)缓存内容”, mSeparator为定义的分割符,每次读缓存的时候会解析这个格式,从而获得缓存存入的时间和设定的有效期限,如果读缓存时的系统时间>写入缓存时的时间+缓存设置的时间,那么就认为缓存过期,删除这个缓存文件,然后返回null,反之则返回具体内容, 这个框架封装的蛮好的,不过有个地方比较坑,就是acache.getAsString()方法,里面的实现用的FileReader和bufferedReader,导致字符串的换行符没有了,并且当字符串很多时这段代码的效率很低,我测试了9000行的缓存,结果读了超过7秒,后来我把这改成了FileInputStream的方式,结果效率明显提高了0.0..,不过这些都是小问题,Acache里面提供了很多方法,可以缓存bitmap, object, 等等, 框架介绍是线程安全的,但是我没有看明白为何(大概我还远远不过吧)?

       总之今天看这个开源框架收获蛮多的,作者写代码的方式思路给我提供了一些灵感,在这向所有具有开源精神的人表示感谢!今天还顺便复习了一下java的强软弱虚。

      每天进步一点点~

  • 相关阅读:
    微信小程序开发 —— 一些小的注意点
    C# —— 继承
    JavaScript —— 判断一个对象是否为空
    SQLServer——事务
    创建存储过程
    (转)从开发小白到音视频专家
    (转载)从零开始学习音视频编程技术(一) 视频格式讲解
    (转载)如何正确的阅读FFmpeg官网提供的资料
    (转载)音频编解码基础(wav/aac/pcma/pcmu)
    (转载)语音编解码过程概述
  • 原文地址:https://www.cnblogs.com/zhangyan-2015/p/4955013.html
Copyright © 2011-2022 走看看