11

我正在浏览 Unity 中可用的不同 LifetimeManager,想知道我们什么时候使用 ExternallyControlledLifetimeManager?有人可以给我一个现实生活中的例子吗?MSDN 文档说“持有对其托管实例的弱引用的 LifetimeManager”..

开发人员如何管理实例以及何时应该使用这样的生命周期管理器?您对如何以及何时使用它的想法对我和其他人来说会很容易理解。谢谢!

4

1 回答 1

13

如果您要注册由其他框架或库创建的对象并且您无法控制其生命周期,例如第三方库提供的单例,这可能会很有用。

因为容器只保留一个弱引用,如果没有任何强引用,GC 将删除该单例。IMO,只有在您无法管理实例的生命周期时才应该使用它。

于 2011-02-23T11:26:26.183 回答