六安沧州西安三亚宝鸡菏泽
投稿投诉
菏泽德阳
山西湖州
宝鸡上海
茂名内江
三亚信阳
长春北海
西安安徽
黄石烟台
沧州湛江
肇庆鹤壁
六安韶关
成都钦州

产品经理学技术朋友圈中的图片缓存系统

  缓存是什么?
  缓是临时的意思,存是存储的意思,所以缓存就是临时存储的意思。什么东西适合临时存储呢?文字、网页、图片、数据?一切都适合临时存储,并且也都适合永久存储,要看业务类型。
  以朋友圈为例,你一定离不开这几种场景:
  刷了几页之后,然后回到头部,你会发现看过的图片依旧在显示,并没有重新出现占位符;然后再显示出图片,表明这张图片一直在内存中,随时可被使用。
  点击一条新内容的图片时,会展示一张小的缩略图,然后loading一直在转,过了一会儿一张清晰无码大图展现出来,表明这张图片是从网络拉取回来的,随后再被使用。loading的过程中,只存在一张小的缩略图。
  当你翻到几天前的内容,打开图片的时候,有的时候跟2一样,从网络拉取,有的时候,瞬间打开,这是为啥呢?因为有可能还在缓存系统中,瞬间被使用。也有可能被淘汰删除掉了,所以从网络重新拉取。
  这几种情况基本涵盖了一个App或者其他应用程序所使用缓存系统的所有场景,只不过这个举例以图片为主,其他原理类似。
  缓存系统经常分为两级:称为一级缓存,二级缓存。一级缓存也叫内存缓存,二级缓存也叫硬盘缓存(手机App中,在Sd卡上)。很显然,一级缓存存取速度更快,程序退出数据就消失,不可一直保留,且多占了一些内存,容易被人叨逼叨的说程序占内存大,把系统拖慢了,其实这是非常合理的一种以空间换取时间的程序设计。二级缓存容量可以更大,速度要慢一些,程序下次启动时候,依然可以使用。
  所以缓存系统设计就是分配两块存储空间,一块在内存,一块在硬盘,假设内存分配5Mb,硬盘分配100Mb,前者叫一级缓存,后者叫二级缓存(硬盘相对比较便宜,所以一般分配要大些)。
  现在来模拟下整个朋友圈的流程。
  进入朋友圈开刷,这些图片就不断的占用5Mb的内存空间,这时你往回滑动,你会发现刚才的图片还都在,因为这个时候一级缓存还没满,还可以继续吃,所有的图片也都能正常满足业务需求。
  假设这个时候已经滚动到了第三屏,一级缓存5Mb空间已被占满,达到上限,所以必然要进行淘汰,目前业界一般会采用LRU(LeastRecentlyUsed)算法进行淘汰,也就是最近最少被使用的图片被淘汰(想想还是很贴心的,最近最少被使用,对一个功利的程序来说,你是最佳人选,如果你在工作中最近最少被使用,要注意安全了哦,哈哈)。所以按照朋友圈时间线的性质,第一张图片被淘汰出了一级缓存,它会被安放到二级缓存,也即存储到了硬盘上,注意虽然叫淘汰,但也没有那么惨,没有被完全丢弃打入冷宫,也算有了个不错的归宿,假设这个时候滑动回第一张图片所在的位置,这个时候内存没有这张图片,一级缓存中没有,一级缓存作为一个老好人,会问二级缓存,第一张图片在你哪里吗?这个时候回答是肯定的,所以一级缓存又按照刚才的算法,淘汰一些其他最近最少被使用的图片出去,保证第一张图片能够在内存中,然后我们有又看到了第一张图片。
  继续刷下去,我们会发现一级缓存5Mb满了,一直在进行换出换入操作,也就是淘汰一些,选进来一些。硬盘100Mb的空间也有可能被撑满,所以二级缓存也会进行淘汰工作,因为它是最下面的一层,所以只被动的接收一级缓存塞入图片,以及自身的淘汰。
  扩展到一个新闻客户端乃至任何一个应用程序,整个流程都可按朋友圈自行脑补,原理都是一样的,只不过对参数的配置略有不同,比如有的想提供更好的看图体验,一级缓存设计的比较大,能够同时浏览更多的图片,不用经常的换入换出,但是同时也耗用更多内存,程序的稳定性也带来挑战。二级缓存占用也可以设计的比较大,这样一些被经常使用的场景的图片,就可以不用再从网络上拉取,但是占用大了,一些管家、卫士就要出现了,说某程序占用了多少多少空间,是否要现在清理,除非你是像微信这种全国人民不得不用的App,他们会相应的提高阈值,清理也会更慎重。在计算机程序中,时刻充满博弈,你想占用更多的资源,就面临更多的风险,用户体验和程序性能之间永远要做衡量,虽然有矛盾,但一定有一个最适合你自己所做业务的方案,虽然有可能也是要经过取舍的。
  再举个例子,微信的第二个tab是通讯录,当列表快速滑动的时候,滑动过程中,很多头像都是默认的灰头像,为什么是默认头像呢,因为滑动的时候再去读相应的头像,并且对图片解码,会使整个列表的滑动掉帧卡顿。一些新闻客户端的做法又恰恰不同,比如滑动的过程中,图片就一张接着一张出来,明显感觉是有些卡顿的,但是慢慢滑动是不会的。所以对于关键路径的理解是选择技术方案的最重要的要素。
  我来谈谈自己的理解,为什么列表有可能会卡顿,但是大家选择了不同的做法?微信通讯录的主场景是查找,按字母排序,很可能是快速的滑动,所以卡顿体验相当不好,所以舍弃了一点点的滑动过程中的效果。一个新闻客户端的主场景是浏览新闻,应该是慢慢滑动,这个时候快速滑动的卡顿感会被削弱,也即大多数用户是不会用力滑动的,而大多数慢慢搓动刷新闻。所以对于关键路径的理解不同,所产生的技术方案也不相同。
  《芈月传》中,大王娶了很多老婆,这些老婆在被开苞之后,全部被扔到了一级缓存中,随时等待大王临幸,但因为大王年龄越来越大,体力越来越差,并且伴随着芈月和大王越来越match,芈姝,魏琰随即被淘汰到了二级缓存中,这些心机较重的女人,如果能适时收手,也许还会被重新换入到一级缓存中,和大王有更多的机会见面,但多行不义必自毙,终会被从二级缓存中彻底删除。

粉尘爆炸对环境的影响有哪些每年,在粉尘严重的企业中总会出一些爆炸的事件,比如面粉厂、染料厂、煤矿等等,这种事故在造成巨大的财产和人员损失外,爆炸所产生的物质还会对环境造成不利的影响,那么,粉尘爆炸对环境……厨师试菜的注意事项作为职业厨师,谁又没有被老板试过菜呢?尤其是那些级别低、资历浅的青年小厨师们,更是经常遭遇试菜。当你做的菜被某些所谓的大师横挑鼻子竖挑眼时,那滋味并不是那么好受的。菜试成功了倒……幼儿游玩擦伤怎么处理方法每个孩子都是在跌伤擦伤中长大,其实孩子擦伤处理好也没有什么大问题。那么幼儿游玩擦伤怎么处理方法您了解吗?下面和本站了解下吧。表现:出血和破损。处理:初步包扎对于很浅……跑前如何拉伸才算到位跑前拉伸动作比较简单,大家可以在跑步控软件的热身时间里做,但做动作就要到位,才会有效果。前几天有晨跑的同学说到晨跑会有身体不舒服的感觉,除个体差异外,跑前热身也很重要。因为晨跑……什么沐浴露能美白全身除了面部美白以外,身体美白也是很多人说追求的,而沐浴露我们经常要用到的产品,所以有些沐浴露也具备的美白的作用,那么,什么沐浴露能美白全身呢?本站这就给您介绍一些相关的知识。……机场托运行李可以带电脑吗托运是物流的一种形式,指托运人委托具有托运资质的公司将货物运输到指定地点,交给指定收货人的服务!根据托运方式不同,可分为海运托运、陆路托运、空运托运。那么机场托运行李可以带电脑……小孩痢疾可以吃豆腐吗豆腐营养丰富,含有铁、钙、磷、镁和其他人体必需的多种微量元素,还含有糖类、植物油和丰富的优质蛋白,素有植物肉之美称。一些人问:小孩痢疾可以吃豆腐吗?下面和本站关注下吧。如……新生儿患上硬肿症爸妈怎么办新生儿硬肿症多发生在寒冷季节;由于早产、感染或其他疾病引起者,也可见于夏季发病。生后一周内发病者吏常见。凡有皮下脂肪积聚的部位均可发生硬肿。那么新生儿患上硬肿症,爸妈怎么办?……适合宝宝的感冒吃的食疗粥饮食调理是防治宝宝感冒的好方法,不止效果好而且还很简单,我们在生活中可以发现在冬季是宝宝感冒发烧的高发季节,那么适合宝宝的感冒吃的食疗粥有哪些呢?1、阴虚宝宝食谱百合枸杞……什么情况的心绞痛应尽快找医生一般心绞痛发作历时短,患者往往来不及找医生,只要立即休息和用药就能很快缓解。实际上只要随身携带着有效的药物,就没有必要每次发作都找医生,下面来看看什么情况的心绞痛应尽快找医生吧……月经提前会不会怀孕了为什么会提前来月经月经提前会不会怀孕了不是!怀孕了就没有月经了,如果是你已经确定怀孕,却来了月经,或者说有血,那么务必要去医院检查,排除是宫外孕或其他可能。月经提前一般是一下几个原因……女生为什么不能养泰迪泰迪日天日地日空气最色泰迪乖巧可爱,而且卷卷的毛发立马让很多女孩子少女心泛滥。这么受到女生喜爱的动物,女生为什么不能养泰迪呢?因为泰迪是狗中最好色的,女生为什么不能养泰迪,当你看到自家泰迪抱着路人日……
马铃薯怎么施肥施什么肥料好马铃薯种植当中如何合理施肥,什么时候施肥效果好?马铃薯怎么施肥才能夺得高产,用什么肥料好?马铃薯生长需要多少肥料,每亩每次施多少肥料?以下中国三农网就作简单介绍,供网友们参考。……对对红的养殖方法对对红,也叫朱顶红,原产地于玻利维亚和墨西哥一带,如今世界各国均普遍种植。一般在春天4月盛开,冬天又盛开,花盛开后,鲜丽清香,有大红色、玫红、橙红、浅红、白、蓝紫、绿、等色调,……佛手掌的风水学应用佛手掌在家居中的作用佛手掌生长期每半月施肥1次,夏季高温时,盆土宜略干燥。如高温多湿,茎叶易腐烂。秋季生长最旺盛,浇水应多些,入冬后气温下降,生长减慢,浇水相应减少。夏季高温季节,应适当遮阴,为其……沈从文自私是我们这个民族最大的病文沈从文来源《水星》1935年6月10日01:国际上流行一句对中国很不好的批评:中国人极自私。凡属中国人民一分子,皆分担了这句话的侮辱与损害。办外交,做生意,为这句……尚纸坊壁纸如何尚纸坊壁纸报价花草图案的壁纸能给人回归大自然的感觉,卡通人物型的壁纸最适合儿童房了,给孩子营造快乐整洁的氛围。壁纸各种各样,给居家带来各种不同的视觉享受以及温馨和谐的感觉,这是乳胶漆比拟不了……梦见打死黄鼠狼梦见打死黄鼠狼,黄鼠狼象征特别灵活和狡诈。梦中的黄鼠狼可能代表某个狡诈之人。那么梦见黄鼠狼是好还是坏?梦见打死黄鼠狼是什么意思?梦见打死黄鼠狼是好还是坏了?1、梦见打死黄……喜茶莓莓芒芒甘露味道怎么样不到就让你尝到四种水果我们都知道,喜茶每隔一段时间都会有新口味的饮品上市,莓莓芒芒甘露就是最近刚上市的一款新品,它不仅颜值好看到爆,味道也是超级棒的,深受年轻人喜欢。那么喜茶莓莓芒芒甘露好喝吗?下面……无需为飙脏话的教师打抱不平近日,有网友微博爆料,山东菏泽一中学男老师在课堂上训话时不断口出脏话,发表了诸如谁敢惹我,我打断他腿、弄死他,武老师就是有这个气势同学之间没什么可比的,只要奋斗,谁都不能把你怎……上海银杏树什么时候变黄上海银杏树一般会在10月下旬到11月上旬时变黄。银杏树变黄的原因是温度较低,光照强度不足,导致植株的光合作用效率减少,叶片中的叶绿素含量较低,叶黄素堆积较多,导致植株叶片变成黄……陆龟好养吗陆龟怎么能养好陆龟相较于大部分水龟而言,算是不好养的观赏龟。它们对环境的要求比较苛刻,温度和湿度都要达标,同时还要准备灯光,投喂饲料还要确保营养充足。养的话首先要弄到驯养证,然后养一些皮实的……好的企业文化的成本分析企业文化理念比较从根本上来说,企业员工队伍凝聚力的基础是企业的事业目标。企业文化的凝聚力来自于企业根本目标的正确选择。如果企业的事业目标既符合企业的利益,又符合绝大多数员工个人的利益,即是一个……能共享到文件夹但是打不开共享文件操作方法01:hr首先,我们双击打开这个共享文件夹;02:hr右击共享的文件,选择属性;03:hr弹出的界面,我们点击安全;04:hr弹出的界面,我们点……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网