【PConline 资讯】虽然iOS 9有许多激(ran)动(bing)人(luan)心的特性,但对于那些购买8GB、16G版iPhone的人来讲,iOS 9的OTA更新包体积暴降无疑是最实际的一个特性。然而这并没有结束,苹果在WWDC上还宣布了iOS 9的应用体积缩小计划。那么,iOS 9究竟是怎么做的呢? 应用代码分割(App slicing) 苹果提供了三种机制使应用体积变小,而应用代码分割(App slicing)就是其中最为重要的一种。一般来讲,每个iOS应用的下载包都会包含了一大堆Devices-Assuming代码。这些代码虽然总体上满足了对多种机型的自适应问题,但针对特定机型却显得有些浪费。
就拿iPhone 5c为例:如果你下载某一款新游戏,其下载包中的64位代码、Metal API代码以及适用于iPhone 6或iPad的“3x”贴图素材就都被“浪费”了;因为iPhone 5c要用到的仅仅只是32位代码、OpenGL代码以及“2x”贴图素材库。而应用代码分割正是为了能让你只下载“你所需要”部分的一种机制。
从苹果提供的开发文档来看,这项机制也并不需要开发者做额外工作。开发者仍然只是提供应用的“完整”版本上传至AppStore,而AppStore会针对特定机型去优化下载包的体积。 应用资源机动(On-Demand Resources) 相对于App Slicing,应用资源机动(ODR)则是相对复杂的一套机制。其基本理念是:应用的素材资源你并非一开始就全部在用,总有一部分是你正在用的,一部分是将来可能会用的,还有一部分是你已经用过不再需要的。那么ODR将动态地下载或删除这些资源,从而让机身存储空间变得更加有效,安装包自然也更小。 以一个多关卡游戏为例,苹果认为你仅仅只需要下载正在玩的关卡素材以及下一个关卡素材,其后的关卡素材会随着你的游戏进度逐步下载,而玩过的 关卡则会被清除。如果以应用为例,那么应用的使用教程仅会在初次使用时派上用场,之后便会被删除节省存储空间,而应用内的内购项目素材也仅仅只会在你“内购完成”后才会下载。 最后一个苹果称为“Bitcode”的机制实际上就是为了App slicing而服务。“Bitcode”机制能够让开发者只提交应用的中间代码(intermediate representation),而不是预编译的二进制代码。这样AppStore就能使用App slicing机制来针对不同设备优化安装包体积了。至于实际的效果如何,我们还是等待iOS 9正式版的到来吧。 |
正在阅读:8GB患者有救了:iOS 9应用体积将大幅减小8GB患者有救了:iOS 9应用体积将大幅减小
2015-06-10 12:23
出处:PConline原创
责任编辑:huzhixin