童话说说技术创业美文职业
投稿投诉
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

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

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

UI设计师面对的5个挑战对于UI设计,像网页设计一样,设计师并不能随心所欲。尽管UI设计在另人惊奇的工业4。0中仍然有很多的机会,但是同样地也有一些隐藏的挑战。在这里我不会带来一些设计模式或者要提醒你……设计师的经验总结!我们为什么需要动效设计?最近越来越多的国内公司开始关注动效设计了,越来越多的团队意识到动效在产品用户体验中的重要性。但是为什么需要动效设计?需要什么样的动效?做动效设计也有段时间了,于是尝试用一些案例……Facebook体验设计上的小巧思互联网时代产品竞争激烈,产品优秀不等同于技术领先。如罗振宇所说工业时代承载的是具体功能,互联网时代承载的是趣味和情感,亦如乔布斯所言我们正处于技术和人文的交叉点,功能自然是产品……场景断裂是什么鬼,我该怎么办先聊一聊互联网产业大背景,任何互联网产品深耕垂直领域已经成为生存的必要条件,那么更纯粹的所谓的O2O遇到的问题会更多,因为本来基本纯线下做的工作,互联网人们希望通过互联网、移动……“需求”是种很玄的东西浅谈需求管理自从三年前走上了产品的“不归路”,几个高频词汇像“用户需求”,“用户体验”,“用户疼点”等等,就不断的在耳边响起,自己也时不时的跟各路人士侃上一番。随着经验值的增加,对“用户需……产品的核心竞争力到底是个啥?格力最著名的广告语:“格力,掌握核心科技”。这表明格力认为他家的核心竞争力就是别家没有的空调生产核心科技。成千上万的互联网产品中,科技壁垒已然不存在,拼的都是内容和功能,……关于登录产品设计的一些思考有一次在面试的时候我突发奇想一个问题:如果让你设计一个移动APP的登录页面你会考虑到哪些因素?这个问题问的很宽泛,但是我更希望面试者利用产品的思维回答这个问题,哪怕只是从一个维……8个视觉稿设计工具,页面视觉和实时交互就靠它们对于视觉设计师、交互设计师来说,他们需要做的不仅仅是设计一张张静态的页面和独立的icon,他们需要将这些元素整体组合在一起,根据整体画面感和视觉体验来做出修改。与此同时,开发人……功能流程,如何设计才能不被吐槽?作为产品经理,我们在设计每个功能流程的时候,最难考虑的应该就是各种功能的细节应该如何打造了。碰到这个时候,往往就会想,如果我是处女座,那该多好啊。细节处理不好,经常会被程……产品经理学技术朋友圈中的图片缓存系统缓存是什么?缓是临时的意思,存是存储的意思,所以缓存就是临时存储的意思。什么东西适合临时存储呢?文字、网页、图片、数据?一切都适合临时存储,并且也都适合永久存储,要看业务……产品设计棋盘图产品设计黄金圆环法则前面已经介绍了网页产品设计的基础知识、导航系统和页面设计风格,这其实有一点本末倒置了。做产品设计时,容易进入一个怪圈,那就是忙了一圈,但却是无效的。一……如何发现交互设计中的思维盲区在一个项目中,交互设计起着承上启下的作用。开发人员根据交互文档搭建初步的程序框架,视觉设计师基于交互设计进行精细的界面设计,之后再交付开发。交互设计方案的改动涉及多方的调整,虽……
让你的APP变快的6个设计方案更接近于现实的社交产品设计圈子线上社交产品如何消化现实生活中“圈子”设计,向前一步教你如何画圈圈标识设计中辅助参考线入门在有限的时间内解决关键的问题百度开放云编程马拉松上大家都做了怎样提升网站用户满意度游戏的目标(三):7个特点游戏的目标(一):为什么会持续玩?十大超酷的概念手机设计:量产比较困难游戏的目标(二):玩法or目标?(项目干货)以商会友APP项目总结湖北省委托拍卖合同德国原装进口保温杯EMSA,测评不输顶级品牌,宝宝冬季必备婚姻谜团终解开杨幂刘恺威离了热门六年级描写春天的作文1100字4篇说两个人人都可上手找项目的方法草叶集美女樱给你介绍一个美女,她名叫樱chanel香奈儿2018早春度假系列配饰有哪些好看吗?清凉油可以擦脸上的痘痘吗清凉油去瘊子是真的吗一封信教学反思有创意的狗年乳名哪些老人适合用防走失吊坠内存卡照片怎么恢复内存卡照片恢复方法详细介绍

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界