包含此页的版本:
不含此页的版本:
“托管剥离级别”属性确定 Unity 链接器在分析和剥离应用程序代码时遵循哪些规则。提高托管剥离级别会扩展链接器对未使用代码的搜索范围,但也会增加生成时间。
要更改“托管剥离级别”属性,请执行以下作:
| 财产 | 功能 |
|---|---|
| 禁用 | Unity 不会删除任何代码。 此设置仅适用于 Mono 脚本后端,并且是该情况下的默认设置。 |
| 极小 | Unity 仅搜索UnityEngine以及用于未使用代码的 .NET 类库。Unity 不会删除任何用户编写的代码。此设置最不可能导致意外的运行时行为。此设置对于可用性优先级高于构建大小的项目非常有用。如果使用 IL2CPP 脚本后端,则这是默认设置。 |
| 低 | Unity 在所有UnityEngine和 .NET 类库。它还会搜索用户编写的程序集,但前提是播放器生成中包含的场景中没有引用它们的任何类型。此设置应用一组规则,用于删除一些未使用的代码,但最大程度地减少意外后果的可能性,例如使用反射的运行时代码的行为更改。注: 低托管剥离级别被标记为将来弃用,不建议使用它。请改用“最小”或“中”。 |
| 中等 | Unity 会部分搜索所有程序集以查找未使用的代码。此设置应用一组规则,用于剥离更多类型的代码模式以减小生成大小。尽管 Unity 不会删除所有可能的未使用代码,但此设置确实会增加不良或意外行为更改的风险。 |
| 高 | Unity 对所有程序集执行广泛的搜索,以查找未使用的代码。在此设置下,Unity 将缩小大小置于代码稳定性之上,并删除尽可能多的代码。 此搜索可能比较低的剥离水平花费更长的时间。仅将此设置用于紧凑构建大小极其重要的项目。彻底测试您的应用程序并谨慎使用 [Preserve]attributes 和link.xml文件,以确保 Unity 链接器不会剥离重要代码。 |