相册磁盘缓存分析
2016-05-08 17:07
183 查看
相册磁盘缓存主要是imgcache.0,imgcache.1,imgcache.idx三个文件;其中imgcache.idx位索引文件,其余两个位数据文件(存放缩略图内容)。
索引文件格式:
绿色部分为索引文件头,每个字节均为4个字节,共32个字节;黄色部分表示每个缩略图的可以和在数据文件中的起始位置,THUMB_KEY占8个字节,THUMB_OFFSET占3个字节,每表示一个缩略图需要12个字节。
数据文件格式:
灰色部分为文件头,仅占四个字节;蓝色区域为数据的Blob头,KEY占用8个字节,其余占4个字节,共22个字节;红色区域为数据域,长度可变(BLOB的LENGTH指定),表示具体的缩略图数据。
BlobCache加载流程:
缩略图插入流程:
缩略图查询流程:
源码位置:https://github.com/zhangcheng0308/GalleryDiskCache
索引文件格式:
MAGIC | MAX_ENTRIES | MAX_BYTES | ACTIVE_REGION | ACTIVE_ENTRIES | ACTIVE_BYTES | VERSION | CHECKSUM | THUMB_KEY | THUMB_OFFSET | THUMB_KEY | THUMB_OFFSET | … |
数据文件格式:
MAGIC | KEY | CHECKSUM | OFFSET | LENGTH | DATA(VAR—LEN) | KEY | CHECKSUM | OFFSET | LENGTH | DATA(VAR—LEN) | … |
BlobCache加载流程:
缩略图插入流程:
缩略图查询流程:
源码位置:https://github.com/zhangcheng0308/GalleryDiskCache
相关文章推荐
- 新手福利——理解java多态的概念和作用
- 中缀表达式求后缀,再由后缀表达式求值
- tomcat启动项目内存溢出问题
- git使用流程
- 字符串分割(C++)
- Eclipse中xml文件注释和撤销注释快捷键
- TCP通信问题,我的TCP服务器貌似无法开启监听
- poj 2479 dp求分段最大和
- c++操作符new 与delete学习(3)
- microstation level2 0402_2
- 如何使用 ATK-SIM900A 模块进行中英文的短信发送
- valgrind的使用、原理
- html5画布-绘制矩形
- RFID入坑初探——Mifare Classic card破解(一)
- 安卓定时器
- nyoj 123 士兵杀敌(四) 插线问点
- Android sdk update
- ProtoType(原型)-对象创建型模式
- fragment类中的点击事件空指针异常
- ZigZag Conversion