三级缓存和二次采样

一、三级缓存分为:

1.内存缓存 :优先加载,速度最快

2.本地缓存 :次优先加载,速度较快

3.网络缓存 :最后加载,速度较慢

二、使用图片缓存的原因

1.提高用户体验:如果每次启动都从网络下载图片,势必会加载很慢,图片无法显示,或需要很久才能完全显示,用户体验及其不好

2.节约流量:如果每次加载页面,甚至只是滑动控件浏览就会下载的话,会消耗很多流量,占用网络资源的同时,也会因为应用耗流量而用户数量级受到影响

三、缓存策略

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

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

推荐阅读更多精彩内容

  • 5点10分,闹铃响起,朦胧中起床,洗漱完毕,骑车去二中晨跑。 下楼至杂物间推车,天才微微亮,出小...
    爱琴海湾阅读 3,793评论 0 3
  • 书摘 对“吃”这件事的贪婪欲望促使了人类的进化 人类发明了手机的同时,也发明了没有手机的不安 绝对不可能遗失的东西...
    彗彗有心心阅读 4,661评论 0 51
  • 中午去大赵,陪岳父喝酒,很是一种享受。 下午回家后陪父亲聊天,很是温馨。 亲情是十分美好的。
    生命叙事阅读 923评论 0 0
  • 关注微信公众号:白麓先生 情深不寿这四个字,我一直觉得是一个很美好的词应该是形容一个人对感情的坚持,而且觉得应该是...
    老温酒阅读 4,233评论 0 0