iOS应用瘦身

2020-05-09  本文已影响0人  街角仰望

App Thinning

三个组成部分: App Slicing、 Bitcode和OnDemand Resources

App Slicing(应用切片):

切片是为不同的目标设备创建和交付应用程序包变体的过程。从iOS9.0开始, 你跟往常一样往iTunes上提交ipa文件。 App Store将根据您的应用支持的设备来创建和提供不同的变体。图片资源根据其分辨率和设备系列进行切片。GPU资源根据设备功能进行切片。

用户在支持的设备上安装应用程序,应用商店会下载基于用户设备的应用程序变体。

On Demand Resources(随需应变资源):

按需资资源是一种资源,例如图像和声音,您可以使用标记关键字和组内请求。商店托管Apple服务器上的资源并为您管理下载,按需资源可实现更快的下载速度和更小的应用程序大小,从而改善首次发布体验。例如游戏应用可以将资源划分为游戏级别,并且仅当应用预期用户将移动到该级别时才请求下一级资源。同样只有当用户购买相应的应用购买时,应用才能请求应用内购买资源。

当不再需要资源并且磁盘空间不足时,操作系统会清除按需资源。如果您导出应用程序以在商店外进行测试或者分发,则必须自己托管按需资源。请注意不支持可执行的按需资源。

对于用户而言,按需资源在后台透明地工作,在用户浏览应用程序功能时根据需要提供资源。

如何设置On-Demand Resource请参考:https://www.jianshu.com/p/bacedd8a3ad8

Bitcode(位码):

Bitcode通过消除针对不同架构的优化,以及只下载相关优化,从而使下载变得更小。

位码是编译程序的中间表示形式。你上传到iTunes Connect中包含位码的应用程序将被编译并链接到商店。包括位码将允许苹果在未来重新优化你的应用程序二进制而不需要提交一个新的应用程序版本到App Store

Xcode默认启用Bitcode, 但有时集成三方SDK时,文档上要求关闭Bitcode。因此,是否开启该属性也要灵活决定。

综上可见, 苹果官方对于应用瘦身的机制已然相当完善, 开发者养成良好的编程习惯至关重要。

其他瘦身方式

参考:
https://www.jianshu.com/p/18c3adbe7a57
https://www.jianshu.com/p/82db0f9458ee

上一篇 下一篇

猜你喜欢

热点阅读