游戏财务ElicUmemi无尽天梯梦见账本类别财务Umemi前言
Hi 我的个人项目扫雷Elic 无尽天梯梦见账本
类别
游戏
财务
Elic
Umemi
前言
软件瘦身是个老生常谈的议题 。苹果其实对于软件瘦身也有着自己的一些计划。本文就将结合官方文档进行阐述。
一 、 什么是软件瘦身?
在 iOS, tvOS, 上 和流程平台根据读者终端和流程平台的性能对App进行裁剪优化。这个优化的蓝莓外汇代理流程就是 软件瘦身 。
二 、 剪切 (iOS, tvOS)
是针对不同终端不同平台创建安排变体软件包的流程。每个变体只涵盖当前终端和流程平台所需要的资源和可落实资料 。你只需要打包提交完整平台的软件到 。 将会根据不同的终端及流程平台平台创建分发不同的变体 。
用 asset 储存图像资源以便 为不同的变体选择资源启动。当读者安装软件时 ,蓝莓交易平台介绍将会获取安装一个针对其终端平台平台的变体 。
Xcode 将会在本地 build 和 run 的时候模拟进行 。当你 的时候 Xcode 将会涵盖所有构建平台并允许你导出变体包。
下图很好的演示了这个流程
思考
这里提到 asset 会根据架构不同进行资源启动,所以我们平时不要把资源直接放到 中,而跳过了这个优化的流程。
三 、
是编译器的一层间接。你提交到 的进入了的 App 将会在 被 编译 和 连接 。涵盖了 将会使Apple 可以在将来再优化你的XM外汇官网软件包而不用再再次提交。
对于 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 的好处软件资源懒启动。远程存储很少利用的资源。软件内购买资源的远程存储。五 、 ODR 标签的工作原理
通过分配 一个或多个标签 来识别开发流程中的按需启动资源 。标签 是您创建的字符串标识符。您可以利用 标签的名称 来识别软件中如何利用涵盖的资源。例如 在游戏中 ,利用标记 level-5 来应对与 level-5 有关的每个资源 。
当流程平台需要更多存储时5.1 游戏举例
继续利用游戏示例,在分为多个级别的游戏中 ,读者只需要与读者目前玩的水平和下一个可能级别有关的资源。
下图呈现一个软件,其中涵盖所有级别的所有资源。
通过为不同级别以及不需要涵盖在软件中的其他共享资源创建标签,可以缩小软件包的大小 。
下图呈现了一个更小的软件 ,其标记的资源集托管在 App Store 上 。
5.2 额外配置
您可以指定
六 、 ODR 的生命周期
软件按标签请求,而不是特定的资源 。
6.1 共享 ODR
当您利用 ODR 开发软件时 ,您可能会注意到请求一个标签会并且获取的其他标签有关的资源。这是因为流程平台与用于获取共享资源的优化资产包配合利用。一个标签可能存在多个 Asset 中。构建软件时 ,Asset 由 Xcode 生成。
6.2 流程
1.软件程序从流程平台请求标签。流程平台将所要求的标签转换为涵盖有关资源的一组资产包 。
在下图中软件请求与 和 标签有关的资源 。
2.标签的 Asset 位于本地存储中 ,则生命周期移动到第6步。
3.标签的一个或多个 Asset 托管在 App Store 上 ,原因要么是它是软件的第一次发布 ,要么是之前启动在终端上的资源被清除(参见下面的 第9步) 。
在下图中,所有 ODR 都在软件商店中 。
4.流程平台开展获取与尚未存储在本地存储中的有关的资源 。
5.与所要求的标签有关的 Asset 资源完成获取到终端。
在下图中,与 和 标签有关的资源将获取到了终端中。
6.如果成功获取了与所要求的标签有关的资源 ,或者如果资源已在终端存储中,则流程会提升 Asset 的引用计数 ,并通报软件所请求的标签可用。
在下图中,软件程序被告知与 和 标签有关的资源是可用的。
标签可用后,软件将利用与这些标签有关的资源 。ODR 的访问方法与与获取的软件捆绑的资源相同 。下图呈现获取的资源作为软件程序的虚拟成员。
7.软件程序通报流程平台,它已经完成了对请求标签的利用。
8.流程平台在本地存储中释放标签。这是通过下降与标签有关的 Asset 的引用计数来完成的 。
对终端上已利用的标签进行另一个请求将移动到 第1步。
9.流程平台从本地存储中清除与 Asset 有关的缓存资源。
七、 总结
本文只是初步的对 ODR 有了一个整体初步的了解 。很多细节还并没有涉及比如项目怎么配置,代码怎么写。我将在后续素材中继续深入探索 。
评论
发表评论