Hi 我的游戏个人项目扫雷Elic 无尽天梯梦见账本
类型
游戏
财务
Elic
Umemi
前言
应用瘦身是个老生常谈的话题。苹果其实对于应用瘦身也有着自己的财务一些方案。本文就将结合官方文档进行阐述。无务
一、尽天见账 什么是梯梦应用瘦身 ?
在 iOS, tvOS, 上 和操作系统根据用户设备和操作系统的性能对App进行裁剪优化。这个优化的本类过程就是 应用瘦身。
二、型财 剪切 (iOS,游戏 tvOS)
是针对不同设备不同系统创建部署变体应用包的过程 。每个变体只包含当前设备和操作系统所需要的财务资源和可执行文件。你只需要打包上传完整版本的无务应用到 。 将会根据不同的尽天见账设备及操作系统版本创建分发不同的变体。
用 asset 储存图片资源以便 为不同的梯梦变体选择资源加载 。当用户安装应用时 ,本类将会下载安装一个针对其设备系统版本的型财变体。
Xcode 将会在本地 build 和 run 的游戏时候模拟进行 。当你 的时候 Xcode 将会包含所有构建版本并允许你导出变体包 。
下图很好的演示了这个过程
思考
这里提到 asset 会根据架构不同进行资源加载,所以我们平时不要把资源直接放到 中,而跳过了这个优化的过程 。
三 、
是编译器的一层间接。你上传到 的打开了的 App 将会在 被 编译 和 链接。包含了 将会使Apple 可以在未来再优化你的应用包而不用再重新上传 。
对于 iOS 应用 是默认非必须选的。 和 tvOS 是必选的。如果想要支持 那么你所有用到的库都要支持 。
符号表
Xcode 默认会隐藏你的应用的符号表,所以对于 Apple 它是不可见的。当你上传你的 App 到 的时候你可以选择包含符号表``。包含符号表会使Apple 为你提供崩溃日志 。
如果你想要自己收集崩溃日志 ,那么你可以不上传符号表。你可以在发布应用后下载 编译后的符号表 。
四、 ODR: On- (iOS, tvOS)
这些资源主要是图片和声音 。 将其保存管理在苹果的服务器。 将会按需使用资源优化变体包 。后面将以 ODR 进行简称。
ODR 提供了更好的用户体验:
4.1 使用须知
App 负责请求这些资源,操作系统负责 下载 和 存储 。应用使用资源,然后请求。下载后 ,资源可能会通过多个启动周期保留在设备上,使访问速度更快。
资源可以是 支持的任何类型的资源 ,但 可执行程序 除外 。Table 1-1 显示支持按需资源类型,并指示这些类型是否以 文件 或 Asset 包含在项目中 。
Table 1-1: On- types
Data file
✓
✓
Image
✓
✓
✓
✓
scene
✓
atlas
✓
✓
Apple TV Image Stack
✓
✓
数据文件可以包含任何类型的数据 ,但可执行的 Swift、 -C、 C 或 C++ 代码除外。脚本语言生成的文件 可以是按需加载的。
4.2 ODR 的好处应用资源懒加载