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的强软弱虚。
每天进步一点点~
转载于:https://www.cnblogs.com/zhangyan-2015/p/4955013.html
Android acache读后感相关推荐
- 深入理解android的读后感_如何写好读后感
很多同学刚开始接触读后感,都不知道该如何选材,概括多,感想少,"头重脚轻",抓不住重点.要学会写读后感,最基本的就是掌握方法. 什么是读后感呢?把读一篇文章或一本书的感想写下来,就 ...
- 深入理解android的读后感_《陪孩子长大》读后感
<陪孩子长大>读后感 看完一本名著后,相信大家都积累了属于自己的读书感悟,记录下来很重要哦,一起来写一篇读后感吧.那么读后感到底应该怎么写呢?以下是小编帮大家整理的<陪孩子长大> ...
- 第一行代码android的读后感,《第一行代码Android》读书笔记
自学android一段时间了,一开始是看看视频,跟着打打代码,后来也有跟着团队一起做项目,一直都很零散,并没有真正系统的学习过,虽然能跟得上项目,但总觉得基础不牢固扎实,之前有读过郭霖老师博客里的几篇 ...
- 第一行代码android的读后感,《第一行代码》读书笔记
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? TextView 我们使用android:gravity 来指定文字的对齐方式,可选值有top.bottom.left. ...
- 深入理解android的读后感_何捷“读后感”写作指导的多层递进与指令词指引
小学语文名师 小学语文老师de微信公众号 于茫茫书海中,为你寻找更适合自己成长的有效资源和那些锲入心灵的文字.与高人交心,轻松学习,把时间留给更重要的人更重要的事. 喜欢我记得点击右上方的三个点,给我 ...
- 深入浅出Google Android这本书怎么样
关于深入浅出Google Android 评论 读后感:对入门的知识讲的很详细,近乎罗嗦,例子比较少而且不够吸引人. 读后感:我还没收到货呢,昨天下午发的货,应该今天能到,因为是周末,我待会儿要回家, ...
- 第二章:搭建Android开发环境(读后感)
在此章节中只要介绍了Android底层开发环境的搭建,其中包括了Android应用程序开发环境.Android NDK开发环境和交叉编译环境的搭建! 1:JDK的安装 (1)下载JDK的压缩包(tar ...
- Android深度探索(卷1)HAL与驱动开发读后感---第四章
第4章 源代码的下载和编译 4.1 下载.编译和测试Android源代码 主要学习了:配置源代码的下载环境,Android源代码目录结构解析,下载Android源代码中的一部分,编译And ...
- Android深度探索读后感第二章
第二章 搭建Android开发环境 Android底层开发的环境,主要包括:Android应用程序开发环境,Android NDK开发环境和交叉编译环境的搭建. Android应用程序开发环境:第一 ...
最新文章
- 华为《5G业务商业价值评估》白皮书!
- matlab二重定积分_怎样用matlab求二重积分?
- python怎么输入文件数据库_python学习日记——文件及数据库
- 西安下雪了,做了一个室内温度计
- 快速排序 (随机选择pivot)
- ggplot2 | 坐标标度函数、坐标系统函数
- C++ Qt学习笔记(2)简易计算器设计(为计算器添加菜单功能)
- android之uniapp弹出activity
- 再回首,Java温故知新(六):Java基础之变量
- CentOS7+rsync+sersync实现数据实时同步
- html网页代码入门,html 网页入门(示例代码)
- 一键提取app源码_【补发】自动答题脚本教程及源码分享(无视分辨率)
- 60个Java练手项目案例,看了让你茅塞顿开~
- 【OpenDDS开发指南V3.20】第一章:介绍
- 红米6 Pro开启ROOT权限的教程
- python打开pcap文件_python 抓包保存为pcap文件并解析的实例
- 如何把网站程序文件快速上传到服务器空间经历分享
- 小程序开发笔记(二):微信小程序富文本编辑器editor的使用
- 决定局域网特性的三要素是什么
- GetAsyncKeyState用法
热门文章
- 【CodeForces - 260C】Balls and Boxes (思维模拟,有坑,时光倒流)
- java 命令行 编译 jar文件_用命令行编译java并生成可执行的jar包
- html中超链接使用_干货 | HTML中表格的使用方法
- * 完成随机点名案例;学生姓名都提前写在文件中;:每次敲回车,随机显示一个学生姓名,每人最多显示一次,所有人都显示完了就结束程序;
- 队列的顺序数组c语言代码,队列-队列的顺序表示和实现
- leetcode628. 三个数的最大乘积(简单,我觉得你不会)
- leetcode867. 转置矩阵
- Lua 与 C混合编程 .
- 纠偏的意思_承压能力和纠偏能力,决定成长的高度
- ansible 修改文件变量_Ansible Playbook中的变量与引用