iOS 9的App Thinning方案如何节省存储空间

天极软件频道消息】存储空间不够是很多iOS用户遇到的问题,苹果在2015全球开发者大会(WWDC 2015)上简要介绍了一个关于节省iOS存储空间的解决方案——App Thinning,这项功能可以让iOS设备在很多安装应用、更新应用以及运行应用等多种场景中仅下载需要的代码而不是所有的资源,这样iOS应用占用的空间就会减少很多,从而节省出更多的剩余存储空间。


图示:iOS 9的App Thinning功能如何节省存储空间


图示:iOS 9的App Thinning功能如何节省存储空间

  App Thinning功能中其实有三个独立的机制,分别是App Slicing、on-demand resources以及Bitcode,它们在节省iOS应用资源方面发挥着各自的作用。


图示:iOS 9的App Thinning功能如何节省存储空间

  App Slicing

  App Slicing在节省应用所需资源中发挥着最重要的作用。很多应用需要在不同尺寸的设备上运行,针对这些不同的设备,它们内含不同的独立资源,而大部分是你的设备不需要的。

  比如用户使用的是iPhone 5c,它运行的是32位CPU和GPU,并不支持Metal API。但如果用户下载的是一款最新的通用游戏应用,它的二进制中含有64位代码,iPad和“3x”iPhone 6 Plus 资源以及Metal API代码,这些都是你的设备用不上的。它只需要32位代码,“2x”iPhone尺寸资源以及OpenGL图形代码。


图示:iOS 9的App Thinning功能如何节省存储空间

  有了App Slices,开发者就可以根据设备添加资源标签,当用户从iTunes下载应用时,它将仅仅下载当前设备需要的资源。因为苹果已经将整个过程设计得非常简单,所以相信很多应用很快就会开始支持这项特性。

  ODR

  ODR(on-demand resources 随需应变资源)是iOS减少应用资源消耗的另外一种方法。比如多级游戏,用户需要的通常都是他们当前的级数以及下一级。ODR意味着用户可以下载他们需要的几级游戏。随着你的级数不断增加,应用再下载其他级数,并将用户成功过关的级数删掉。


图示:iOS 9的App Thinning功能如何节省存储空间

  当用户点击应用内容的时候,就会动态从App Store上进行下载,也就是说用户只会在需要的时候占用存储空间。这项功能有趣之处还在于当将这些内容在后台进行下载之后,当存储空间紧张的时候会自动进行删除。


图示:iOS 9的App Thinning功能如何节省存储空间

  Bitcode

  Bitcode使得开发者上传应用程序时不必非提交预编译的二进制文件,只需要上传“intermediate representation(直译为中间代表)”即可。而用户下载时,App Slicing可以根据用户需求,来判断你是需要32位还是64位。

  也就是说,在用户下载应用之前,App Store在自动编译应用程序。这样,即使开发者没有给他们的代码添加标签,应用也能够执行App Slicing的部分功能,仅下载设备需要的32或64位代码。不过Bitcode也意味着如果苹果完善编译器提高代码效率,用户下载应用时苹果进行的完善会自动整合进去。

  虽然有评论表示,App Thinning这个新特性有时候也会带来不方便。比如用户坐十几个小时飞机,期间一直在玩游戏,持续过关斩将,但是因为没有下载所以不能继续玩下去,会感觉比较无奈。不过,对于大多数用户的应用场景来说,App Thinning将为iOS设备用户节省很多应用所需要的存储空间,对于16GB容量的iOS设备用户来说效果则更加明显。

  iOS 9的更新包体积从原来的4.6GB降至现在的1.3GB,让不少8GB、16GB的iPhone和iPad老用户非常开心。而App Thinning方案进一步减小了系统在运行应用等多种实用情景时的存储资源占用,令人期待。

你可能感兴趣的:(iOS 9的App Thinning方案如何节省存储空间)