Android之缩略图缓存策略比对

                                                                                   BlobCache框架图

       BlobCache算法,这个算法的核心就是将所有的缓存数据都保存在同一个data文件中,记录缓存数据的索引保存在index文件中,由于index文件内存占用较小,读写时会把整个index文件映射至内存,然后使用RandomAccessFile随机读取接口,像操作指针一样控制index的偏移量读写data文件对应位置的数据。由于缓存文件存储在同一个文件下,缓存数据只能增加不能删除,BlobCache巧妙通过两个data文件(active和inactive)的翻转来实现缓存数据的删除更新。

                                                                  BlobCache、DiskLruCache读取数据流程图对比

                                                               BlobCache、DiskLruCache读取时间对比

        经过与DiskLruCache进行对比,虽然BlobCache在存储速度上会比DiskLruCache略慢,但是在读取速度上是有很大优势的,尤其是对于100k以内这种小尺寸的图片,实测在晓龙845平台单张缓存的读取时间可以降低到1ms以下。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。