- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
移动产品基础模块设计规范之应用缓存
移动产品基础模块设计规范之应用缓存
我们的产品在 1.3 的时候有了较大的调整 ,包 UI、功能等方面 ,当然类似缓存这样的基础能力也
是不可或缺的。下面带大家一起了解下缓存相关的知识和应用。
一 什么是应用缓存
缓存就是数据交换的缓冲区 (称作Cache ),当某一设备要读取数据时 ,会首先从缓存中查找需要
的数据 ,如果找到了则直接执行 ,找不到的话则从内存中找。由于缓存的运行速度比内存快得多 ,
故缓存的作用就是帮助硬件更快地运行。
A PP 中显示的数据除了从服务器获取 ,还有一个数据来源就是本地数据库 (缓存 ),它给我们的设
计增加了很多丰富性。
二 缓存工作原理
缓存的工作原理是当CPU要读取一个数据时 ,首先从 CPU 缓存中查找 ,找到就立即读取并送
给CPU处理 ;没有找到 ,就从速率相对较慢的内存中读取并送给CPU处理 ,同时把这个数据所在的
数据块调入缓存中 ,可以使得以后对整块数据的读取都从缓存中进行 ,不必再调用内存。正是这样
的读取机制使CPU读取缓存的命中率非常高 ,也就是说 CPU下 一次要读取的数据90%都在 CPU 缓
存中 ,只有大约10%需要从内存读取。这大大节省了CPU 直接读取内存的时间 ,也使 CPU 读取数
据时基本无需等待。总的来说 ,CPU 读取数据的顺序是先缓存后内存。
RA M 和 RO M 相对的 ,RA M 是掉电以后 ,其中的信息就消失那一种 ,RO M 在掉电以后信息也不
会消失那一种。RA M 又分两种 ,一种是静态RA M ,SRA M ;一种是动态 RA M ,DRA M。前者的
存储速率要比后者快得多 ,使用的内存一般都是动态 RA M。为了增加系统的速率 ,把缓存扩大就
行了 ,扩的越大 ,缓存的数据越多 ,系统就越快了 ,缓存通常都是静态RA M ,速率是非常的快 ,
但是静态 RA M 集成度低 , 价格高 ,由此可见 ,扩大静态 RA M 作为缓存是一个非常愚蠢的行为 ,
但是为了提高系统的性能和速率 ,必须要扩大缓存 , 这样就有了一个折中的方法 ,不扩大原来的静
态RA M缓存 ,而是增加一些高速动态 RA M 做为缓存 , 这些高速动态 RA M 速率要比常规动态
RA M 快 ,但比原来的静态 RA M 缓存慢 , 把原来的静态 RA M 缓存叫一级缓存 ,而把后来增加的动
态RA M叫二级缓存。
二 缓存存在的意义
缓存工作的原则 ,就是“引用的局部性” ,这可以分为时间局部性和空间局部性。空间局部性是指
CPU 在某一时刻需要某个数据 ,那么很可能下一步就需要其附近的数据 ;时间局部性是指当某个数
据被访问过一次之后 ,过不了多久时间就会被再一次访问。对于应用程序而言 ,不管是指令流还是
数据流都会出现引用的局部性现象。
从程序代码上来考虑 ,设计者通常也会尽量避免出现程序的跳跃和分支 ,让 CPU 可以不中断地处
理大块连续数据。游戏、模拟和多媒体处理程序通常都是这方面的代表 ,以小段代码连续处理大块
数据。不过在办公运用程序中 ,情况就不一样了。改动字体 ,改变格式 ,保存文档 ,都需要程序代
码不同部分起作用 ,而用到的指令通常都不会在一个连续的区域中。于是 CPU 就不得不在内存中
不断跳来跳去寻找需要的代码。这也就意味着对于办公程序而言 ,需要较大的缓存来读入大多数经
常使用的代码 ,把它们放在一个连续的区域中。如果缓存不够 ,就需要缓存中的数据 ,而如果缓存
足够大的话 ,所有的代码都可以放入 ,也就可以获得最高的效率。同理 ,高端的数据应用以及游戏
应用则需要更高容量的缓存。
简单来说 ,缓存的意义主要有 :
1. 告知用户产品结构和信息 ,不会让用户直接看到异常 ,增强用户体验 ;
2. 部分减轻用户请求对服务器的压力 ;
3. 提示用户 ,告知用户网络情况 ,使用缓存的情况多出现在网络状况不好或者无网的情况
三 缓存处理的方式
自己对比了几家牛逼公司的产品 ,在这里不一一列举了。当然这么细节的东西 ,他们或许就不是很
在意吧~(我自己想的~)
教大家一个检测的方式 ,先在有网的情况下浏览一段时间 A pp ,之后关闭网络 ,且杀死应用进程 ,
然后再打开应用。你就能观察这个应用的缓存了 ,做的好不好 ,自己可以尝试下咯~
就产品而言 ,在应用中使用缓存的方式主要有几种 :
1. 在无网络或者网络出错时 ,优先展示本地缓存数据 ,之后自动刷新界面 ,向用户展示非模态提示
,文案“网络错误或无链接…” ,或者“您的网络不给力…”等 ;也有可能会在缓存到的位置增加提示。
这种方式是目前使用较多的。
您可能关注的文档
- 用于银行贷款2013年一次性呼吸机接头项目可行性研究报告(甲级资质+专家答疑)编制方案.docx
- 用于银行贷款2013年硅碇、硅片项目可行性研究报告(甲级资质+专家答疑)编制方案.docx
- 用友U8 All-in-One OA安装维护手册.pdf
- 用过那么多原型软件,为什么我还是最爱Axure.pdf
- 由CPU轮询.ppt
- 甲级单位编制分时电表项目可行性报告(立项可研+贷款+用地+2013案例)设计方案.docx
- 甲级单位编制仪表器接头项目可行性报告(立项可研+贷款+用地+2013案例)设计方案.docx
- 甲级单位编制水泵接头铸造项目可行性报告(立项可研+贷款+用地+2013案例)设计方案.docx
- 甲级单位编制水泵铜接头项目可行性报告(立项可研+贷款+用地+2013案例)设计方案.docx
- 甲级单位编制水泵接头项目可行性报告(立项可研+贷款+用地+2013案例)设计方案.docx
文档评论(0)