定义 Unity 去除未使用的托管(C#)代码的力度。
当 Unity 构建您的游戏或应用程序时,它可以从项目中使用的托管动态链接库中去除未使用的代码。去除代码可以使生成的执行文件显著减小,但有时可能会错误地去除实际使用的代码。ManagedStrippingLevel 枚举定义了在指定 Unity 去除未使用的代码的力度时可以使用哪些选项。
其他资源: PlayerSettings.GetManagedStrippingLevel,PlayerSettings.SetManagedStrippingLevel
禁用 | 不去除任何代码。 |
低 | 去除无法访问的托管代码以减小构建大小和 Mono/IL2CPP 构建时间。 |
中 | 以比低级别更不保守的方式运行 UnityLinker。这将进一步减小代码大小,超出低级别可以实现的范围。但是,这种额外的减少可能会带来权衡。可能产生的副作用包括:必须维护自定义 link.xml 文件,以及某些反射代码路径可能无法按预期工作。 |
高 | UnityLinker 将尽可能多地去除代码。这将进一步减小代码大小,超出中级别可以实现的范围。但是,这种额外的减少可能会带来权衡。可能产生的副作用包括:某些方法的托管代码调试可能不再工作。您可能需要维护自定义 link.xml 文件,以及某些反射代码路径可能无法按预期工作。 |
最小 | 类库、UnityEngine 和 Windows 运行时程序集将被去除。所有其他程序集都将被复制。 |