App Thinning(应用瘦身)是一种苹果公司引入的技术,通过只为用户设备上安装所需的资源,从而减少应用程序在用户设备上的存储占用空间。App Thinning通过三个主要组件来实现这一目标:App Slicing, On-Demand Resources,和Bitcode。在本文中,我们将详细了解这些组件,并为开发者提供一些实施App Thinning的方法。
1. App Slicing (应用切片)
应用切片是App Thinning的核心技术之一。通过应用切片,开发者可以针对不同的设备及系统版本创建不同的资源包(图片、视频、声音等),而不是将应用程序中的所有资源打包到一个完整的安装包中。这样可以有效减小整个应用程序的大小,从而降低用户的下载、更新及安装时间。,以及减少用户设备的存储空间占用。
苹果公司提供了一个名为“Asset Catalog”的功能,允许开发者针对不同设备及系统版本指定特定的资源文件。当用户从App Store下载应用程序时,App Store会根据用户的设备类型及系统版本,自动生成一个包含所需资源的定制安装包。
2. On-Demand Resources (按需资源)
按需资源是App Thinning的另一个重要组成部分,即将不是应用启动时必需的资源与应用程序主包分离,用户可以在需要时从云端下载这些资源。这在用户首次下载应用程序时可以显著降低应用程序的大小,提高下载、安装速度。
按需资源可以应用于不同类型的应用程序,如游戏或教育应用等。例如,一款游戏应用可以将其关卡数据分为多个按需资源包,用户在完成上一关后才需要下载下一关的资源。这样用户在安装时,只需要下载最小必需的资源即可开始游戏。
苹果公司提供了一个名为“Resource Tags”的功能,允许开发者为资源文件指定标签,以便将这些资源标记为按需资源。此外,开发者还需要在代码中使用苹果提供的API来控制按需资源的下载、使用和管理。
3.Bitcode (位码)
位码是一种中间编译代码,通过上传位码,可以让苹果在将来在不重新编译整个应用程序的情况下,针对未来新硬件或编译器优化重新编译相应的资源。这可以保证应用程序在新硬件上可以获得最佳性能,并进一步优化二进制文件大小。
开发者可以在提交应用程序至App Store时,选择上传位码文件。当苹果发布新的硬件或编译器优化时,App Store会根据用户的设备及系统版本,将位码重新编译为相应的二进制文件,并将其作为新的安装包提供给用户。
实施App Thinning的方法:
1. 使用Xcode中的Asset Catalog和Resource Tags功能,针对不同设备及系统版本指定资源文件。
2. 在代码中使用苹果提供的API来控制按需资源的下载、使用和管理。
3. 提交应用程序至App Store时,选择上传位码文件。
总结:
App Thinning通过应用切片、按需资源和位码三个组件为用户提供更细粒度的资源管理,优化了应用程序的大小,提高了下载、安装速度,最终提升了用户体验。对于开发者而言,在应用程序开发的过程中合理利用App Thinning的各项技术,不仅可以降低用户的下载门槛,也有助于拓展应用程序在不同设备上的兼容性。