AB打包参数DisableWriteTypeTree导致崩溃

这两天在网上看了个内存优化的帖子,里面有关于打AB的一些修改,其中提到了一个关于设置TypeTree的设置:
image

在验证的过程中,发现使用这个选项打包后,在编辑器下运行程序会崩溃,定位原因是TMP导致的。

点击查看代码
#if UNITY_EDITOR
	/// <summary>
	/// Persistent reference to the source font file maintained in the editor.
	/// </summary>
	[SerializeField]
	internal Font m_SourceFontFile_EditorRef;
#endif

这个属性添加了 [SerializeField] 标签,但是还用 UNITY_EDITOR 的宏括起来了,所以白编辑器下运行时没有TypeTree信息,反序列化失败,直接崩溃了。

解决方式:给 m_SourceFontFile_EditorRef 属性添加 [NonSerialized] 标签。


参考文章:
uwa 解决问题
知乎 内存优化

原文地址:https://www.cnblogs.com/ogaligong/p/15632366.html