【本站数码】在WWDC2015大会上,苹果宣称iOS9新系统占用空间全面瘦身,同时包括App应用在内也将在体积上全面瘦身,为用户的iPhone、iPad等设备腾出更多可使用空间。那么,iOS9如何给应用瘦身为设备腾出空间,一起来了解一下吧。
在WWDC大会上,苹果公司为设备存储空间不够用的iPhone和iPad用户介绍了一个解决方案——App Thinning,它能让你的iOS设备腾出更多空间。这个功能的作用就在于它能够让iOS9设备仅下载需要的代码,这样应用占用的空间就会比目前的少很多。
在这项功能中,其实有三个独立的机制,在给应用瘦身方面,它们发挥着各自的作用。我们来详细了解一下。
首先是App Slicing,它在这其中发挥着最重要的作用。因为应用需要在不同尺寸的设备上运行,从3.5英寸的iPhone4到5.5英寸的iPhone6 Plus(通用应用还支持10英寸iPad),针对这些不同的设备,它们内含不同的独立资产,而大部分是你的设备不需要的。
如果你使用的是iPhone5c,它运行的是32位CPU和GPU,不支持metal API。如果你下载的是一款的通用游戏应用,它的二进制中含有64位代码,iPad和“3x”iPhone6 Plus 资产以及metal API代码,这些都是你的设备用不上的。它只需要32位代码,“2x”iPhone尺寸资产以及OpenGL图形代码。
有了App Slices,开发者就可以根据设备添加资产标签,当用户从iTunes下载应用时,它将仅下载你的设备需要的资产。因为苹果已经将整个过程设计得非常简单,所以相信很多应用很快就会开始支持这项特性。
ODR(随需应变资源)是应用瘦身的另外一种方法。比如多级游戏,用户需要的通常都是他们当前的级数以及下一级。ODR意味着用户可以下载他们需要的几级游戏。随着你的级数不断增加,应用再下载其他级数,并将用户成功过关的级数给删掉。
最后还有一种就是Bitcode。开发者不再上传应用的预编译的二进制文件,而是上传应用的“中间代表”。在用户下载之前,App Store在自动编译应用程序。这样即使开发者没有给他们的代码添加标签,应用也能够执行App Slicing部分功能,仅下载设备需要的32或64位代码。
不过Bitcode也意味着如果苹果完善编译器提高代码效率,用户下载应用时苹果进行的完善会自动整合进去。
当然这个新特性有时候也会带来不方便。比如你坐十几个小时飞机,期间一直在玩游戏,不小心你就一路过关斩将,但是因为没有下载所以不能继续玩下去,这种时候会非常无奈。不过在大多数情况下,对多数用户来说,App Thinning带来的好处还是比较多的,对于16GB容量设备用户来说更是如此。