在WWDC大会上苹果公司为设备存储空间不够用的iPhone和iPad用户介绍了一个解决方案——App Thinning,它能让你的设备腾出更多空间。这个功能的作用就在它能够让iOS9设备仅下载需要的代码,这样应用占用的空间就会比目前的少很多。
不过在这项功能中其实有三个独立的机制,在给应用瘦身方面,它们发挥着各自的作用。下面让我们来详细了解一下了。
首先是App Slicing,它在这其中发挥着最重要的作用。因为应用需要在不同尺寸的设备上运行,从3.5英寸的iPhone4到5.5英寸的iPhone(通用应用还支持10英寸iPad),针对这些不同的设备,它们内含不同的独立资产,而大部分是你的设备不需要的。
假设你使用的是iPhone5c,它运行的是32位CPU和GPU,不支持Metal API。如果你下载的是一款最新的通用游戏应用,它的二进制中含有64位代码,iPad和“3x”iPhone6 Plus资产以及Metal API代码,这些都是你的设备用不上的。它至需要32位代码,“2x”iPhone尺寸资产以及OpenGL图形代码。
有了App Slices,开发者就可以根据设备添加资产标签,当用户从iTunes下载应用时,它将仅下载你的设备需要的资产。因为苹果已经将整个过程设计得非常简单,所以相信很多应用很快就会开始支持这项特性。