iOS 10会让你感到更流畅吗?看看苹果是如何做的
2016-6-21 10:49:47 中国产业信息研究网 http://www.china1baogao.com/
我们即将在 iOS 10 上迎来大量的变化,诸如 iMessage 这样苹果重点提到的内容肯定是能赢得最多的关注了,但还有一些并没有摆在台面上的改进却值得注意,尤其是新系统中应用运行更加快速流畅这个变化。那么苹果是如何做到的呢?
如果要用最简单的语言来说明其中的奥妙所在,可以这么理解:新的 API 将能够稍微提前一点点去加载你即将看到的内容,而不再是当你进行滚动操作的时候,内容才开始加载。
不少应用都有大量所谓的“区块”,或者说数据集合。以前当你快速向下划动应用页面时,可能会注意到应用在试图跟上你的操作时会有卡顿。这种丢帧现象会让应用的性能表现看上去比它应有的水准更坏。
在 WWDC 大会的其中一个环节中,苹果特意提到了这些丢帧现象的原因,那就是应用得在内容进入屏幕区域之后才开始加载,即使加载速度不过是毫秒之间,都会让你注意到有明显的卡顿出现。
在 iOS 10 中,苹果将会让那些“区块”在你进行滚动操作时提前加载,确保内容进入屏幕时已经被加载完毕,滚动时的性能影响和加载时间是不会被注意到的。苹果表示 60 帧每秒是最理想的,但是应用达不到这个目标也是常事。
至于加载时间要提前多少的问题,苹果称它的测试已经表明应用的滚动性能是能够停留在 60 帧的安全区的。
这种理念被称为“数据预提取”,而且能够进行反向工作。那些滑出你的屏幕的“区块”较之以前会被保留更长的时间,以免你突然想要再回头看看刚才漏掉的内容。这样一来,再往上滚动仍然能有流畅的体验。
另外苹果还改变了应用访问数据的方式。新的 API 仍旧采用异步的方式访问数据,但调用更快了。尽管苹果希望将这个新设计用于 Core Data,它也适用于开发者采用的任何解决方案。
在这方面上,诸如 Realm 这样的数据库方案对于移动应用来说更好一些,速度上比 Core Data 或 SQLite 更快。苹果自家的载入方案终于赶上来了。
新 API 在后台队列中载入数据,因此这并不影响主线程。它也能够自适应基于滚动操作的性能表现,因此数据载入能够跟得上你让“区块”加载的操作。
如果你更想知道的是那些有着多排内容的应用,不用担心,苹果在加载这一类的“区块”上也做出了重大的改进。
目前应用会一次性加载整排的内容。比如采用单排设计的应用,当你快速滚动内容时会出现卡顿。如果是拥有多排内容的应用,它就会像多米诺骨牌一样,从左至右来加载那些“区块”。
这样一来,那些内容更复杂的应用也能得到和简单应用相当的性能表现,而且不需要开发者进行额外的更新工作。苹果指出这种新方案最适用于那些拥有相似尺寸的“区块”,不过这种设计不是必须的。
如果某个应用是以页面或是平板视图来显示内容的,那就一点问题都没有了。苹果全新的渲染 API 很适合这类应用,在你滚动内容时根本不会注意到有任何拖慢的载入时间。
最有趣的地方在于,开发者真的不需要为此做任何事情。所有的变化都在后端已有的 API 中完成了。只要应用兼容 iOS 10,应用就会运行得更加快速和顺畅,至少苹果是这么说的。
如果某个开发者不喜欢这样的设计,尽管不清楚他为什么要抛弃这么好的新方案,但他可以通过一行简单的代码回到过去的状态。
苹果的后端小魔术让应用一下子变得更快了,这能够让用户感到它们变得更好了。开发者不费劲,用户们很开心,这还真是一次皆大欢喜的局面。
- 魔兽:游戏类IP为什么很难跨界火爆呢?
- IBM首次在无人驾驶汽车Olli上使用沃森认知
- Gartner公布2016年信息安全的10大技
- 谷歌雄心壮志想用人工智能重塑一切设备
- Google成立一个专注于机器学习的欧洲研发中
- 知识图谱的兴起将会以三种主要方式影响管理实践
- 腾讯发布“星APP榜”5月榜 十款APP脱颖而
- 物联网旨在改变人们每天同机器交互的方式
- 比特币价格突破750美元,创28个月以来的新高
免责声明:
1、本网转载文章目的在于传递更多信息,我们不对其准确性、完整性、及时性、有效性和适用性等作任何的陈述和保证。本文仅代表作者本人观点,并不代表本网赞同其观点和对其真实性负责。
2、中国产业信息研究网一贯高度重视知识产权保护并遵守中国各项知识产权法律。如涉及作品内容、版权和其它问题,请马上与本网联系更正或删除,可在线反馈、可电邮(link@china1baogao.com)、可电话(0755-28749841)。