Unity域重载domain reload问题

Unity编辑器关闭domain reload后,如何手动清空fgui的static变量
https://docs.unity3d.com/Manua ... .html
已邀请:

谷主

赞同来自: o83290102o5

最新版本的SDK已经支持reload了。

谷主

赞同来自:

目前没进行过这方面的改造,应该清空不了

o83290102o5

赞同来自:

今天也遇到同样问题,如果后面有人遇到相同问题可以参考一下。
随便在哪写一个静态方法,标记为
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]
在这个静态方法里调用
FontManager.Clear();以及设置Stage._inst为null,这个变量是私有的可以在Stage里写一个方法设置为null然后调用那个方法
然后还有一些会报错的地方,加个判空就好了,我也忘了加了哪些地方,反正有好几个。
现在开发过程中基本上关闭domain reload也没什么问题了。
 
不知道unity什么时候能优化一下这个reload domain很慢的问题,项目里用了很多Assembly definitions,现在随便改一句代码编译只要一两秒reload domain却要二十多秒很影响写代码效率,而如果关闭domain reload后很多插件都要手动重置静态变量,有的还不太好改。感觉以前的unity版本这个问题都没这么严重。。越更新越卡,网上搜了一下也是说除了关掉domain reload没什么好的办法

o83290102o5

赞同来自:

感谢,这个比我自己改的完整多了

要回复问题请先登录注册