伊隆·马斯克|Unity 2020 LTS更轻松的实现托管代码剥离工作流( 二 )


RequiredInterfaceAttribute:标记类型时 , 将标记指定类型的所有接口 。
RequiredMemberAttribute:标记类型时 , 其所有带有[RequiredMember
的类型都将被标记 。 这使得代码剥离更加精确 , 因为它将阻止声明类型变得不可剥离 。 但是请注意 , 如果不使用类型本身 , 尽管标记了[RequiredMember
属性 , Members也将被剥离 。
RequireImplementorsAttribute:标记接口类型时 , 将标记该接口的所有类型 。 因此没有必要标记每个接口 。 但是如果接口没有在代码库中的任何地方运行 , 它仍然会被移除 , 尽管它已经被标记为[RequiresImplementors
属性 。
在Unity 2020.1和2020.2中 , 该工具已经收到了与Mono IL Linker匹配的API更新 。 它现在可以检测到一些简单的反射模式 , 这意味着如果您已经升级到Unity 2020 LTS , 那么使用link.xml文件的理由就更少了 。

作为Unity 2021年目标的一部分 , 即让创作者更容易向测试人员和玩家交付高质量的作品 , Unity一直专注于改进代码剥离工作流 。 更具体地说 , 在2021.2版本中Unity添加了一个名为“最小”的新托管剥离级别 。 这将是IL2CPP后端的默认设置 。