首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

以微信朋友圈来聊聊什么是客户端的一级、二级缓存技术

小编每天都要刷几遍朋友圈,获取最新资讯的同时,也顺便看看周围同事都在哪些国家玩耍,哪些同事又后半夜下班打不到车,最近周围同事的孩子都成长得怎么样。人生百态,每天在朋友圈里悉数上演。

本文小编主要分析朋友圈的图片缓存系统,并介绍一个缓存系统的设计要素。缓存的概念是什么呢?缓是“临时”的意思,存是“存储”的意思,所以缓存的概念就是“临时存储”。了解了缓存的概念,再一起回顾使用朋友圈的过程中的一些现象:

(1)刷了几页之后回到顶部,会发现看过的图片依旧在显示,并没有出现先显示占位符,再显示图片内容的情况,这表明图片一直在内存中,随时可被直接展示。

(2)点击一条新内容的图片时,会展示一张缩略图,然后出现loading图标旋转的动画,过一会儿一张清晰大图展现出来,表明这张图片是刚刚从网络拉取的。

(3)当用户翻到几天前的内容时,再次点击图片,有时还需要从网络拉取,有时却瞬间打开,这是为什么呢?因为有可能高清图片已经被缓存系统删除,所以需要从网络重新拉取,也有可能高清图片还在缓存系统中,可以被快速加载,从而“瞬间打开”

这几种情况基本涵盖了一个 APP 所使用缓存系统的所有场景,只不过这个举例以图片为主,其他资源的缓存系统原理类似。缓存系统通常分两级,称为一级缓存和二级缓存。一级缓存也叫内存缓存,二级缓存也叫磁盘缓存(在硬盘或者SD卡上的缓存)。

由此可见缓存技术特点如下:

一级缓存:存取速度最快,会多占一些内存,这是非常合理的一种以空间换取时间的程序设计,数据随着程序退出而消失

二级缓存:容量更大,存取速度要慢一些,程序下次启动时,依然可以使用缓存内容

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200316A0CW7H00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券