Android 缓存机制(三)

服务端下载图片

下载成功后调用1内存缓存的putBitmap()函数,缓存图片。

在外部文件缓存中也写入一份,调用2的putBitmap()函数.

预览图片的流程

1) 如果预览的图片在内存缓存区中,直接调用1的getBitmap()函数,获取bitmap数据(先在硬引用缓存区查找匹配,若硬引用区匹配失败,再去软引用区匹配)

2) 如果从内存缓存区读取失败,再从外部文件缓存中读取,调用2的getBitmap()函数

3) 如果从外部文件缓存中读取失败,则从服务端下载该图片,过程3.

生成key值

private static String generateKey(String fileId, int width, int height) {

String ret = fileId + "_" + Integer.toString(width) + "x" + Integer.toString(height);

return ret;

}

String key = generateKey(...)即可生成唯一的key值

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

推荐阅读更多精彩内容

  • 相册图片预取缓存策略是内存缓存(硬引用LruCache、软引用SoftReference)、外部文件缓存(cont...
    ifeng_max阅读 560评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,779评论 18 399
  • 音乐对于我来说,是个很神奇的东西,几乎每一个重要的记忆,都能跟音乐联接起来。不确定现在浮现出来的记忆,到底是真实存...
    默寒霖阅读 187评论 0 0
  • 看的电影,读的书越多,尤其是小说,每看完一本,就放佛自己经历了书中每一个角色的人生,对主角的无限向往,恨不能自己就...
    慎独于行阅读 235评论 0 0