03 - 单间管理器
为什么需要单间管理器:
- 统一管理单间类,单间类也需要管理生命周期,创建和清理的统一管理
- 统一管理基础库,灵活引入基础库。写一个Singleton包一下,比如YooAssets第三方插件。
- 消除静态字段,比如static dictionary这种变量,没有地方清理,unity关闭的时候没有一个地方统一清理,所以比如需要定义静态字段的时候都放到一个统一的singleton中作为单间的成员变量即可。
- unity domain模式,可以不清理static字段,加速unity启动的速度
- 为什么不用组件:最底层做了一个单间管理器,在单间管理器的基础之上,再创建组件。
为什么要用Game.AddSingleton
- 不需要用TimeInfo.Instance直接这种方式来实例化单间类,因为很难看出第一次创建的地方,代码可读性高,明确知道单间初始化的地方,和初始化的顺序,因为有可能单间类之间有依赖关系,方便调整,好释放,基于创建的顺序的相反顺徐来释放即可。
本文由作者按照 CC BY 4.0 进行授权