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

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

  天天进步一点点~git

相关文章
相关标签/搜索