美文网首页
浅谈图片三级缓存

浅谈图片三级缓存

作者: Y_Sunny_U | 来源:发表于2018-06-13 09:05 被阅读0次

    时间不会停下来等你,我们现在过的每一天,都是余生中最年轻的一天。

    首先,说一下为什么要实现图片的三级缓存

    1:提高用户体验:,App进行页面展示的时候,如果在没有网络的情况下,图片可能展示过慢,甚至还会有图片加载失败的现象,影响用户体验
    2:节约流量:当用户进入一个App的时候,App内部图片会进行页面显示,而这些图片如果每次进入页面都要进行网络请求显示的话,会大大增加用户流量的消耗

    第二,什么是三级缓存呢

    1:内存缓存 优先加载,速度最快
    2:磁盘缓存 次于内存缓存加载,速度快
    3:网络缓存 最后加载,速度较慢

    缓存策略

    为什么使用缓存策略

    上面从用户角度考虑了为什么要使用图片缓存,此外,从开发人员角度看,Bitmap的创建非常消耗时间和内存,可能导致频繁GC,使用缓存策略能够高效加载Bitmap,减少卡顿,从而减少读取耗时和电量消耗。

    缓存策略是什么

    具体通过三级级缓存策略,内存作为一级缓存,本地作为二级缓存,网络直接下载为最后,其实严格来说不算缓存。其中内存采用LruCache,其内部通过LinkedhashMap来持有外界缓存对象的强引用;对于本地缓存,我这里为了简单快速理解原理,直接使用的是文件IO操作,而网上也有人采用DiskLruCache (不是Android官网提供,但被官网推荐)。加载图片时,首先采用LRU方式进行寻找,若找不到指定内容,则进行本地搜索,若本地也找不到,向网络发起请求来获取图片。

    相关文章

      网友评论

          本文标题:浅谈图片三级缓存

          本文链接:https://www.haomeiwen.com/subject/dqideftx.html