【问题标题】:Unity and resolving many small objects统一和解决许多小物体
【发布时间】:2017-06-19 14:49:18
【问题描述】:

我在桌面 WPF 应用程序中使用 Unity。我有一个包含许多项目的 ListView,我正在使用 unitycontainer 为每个 ListViewItem 解析每个 ViewModel 的实例。我意识到那些用容器解析的 ViewModel 永远不会被垃圾收集,这就是内存泄漏。这种情况下的做法是什么?我应该手动构建这些视图模型列表还是 Unity 提供解决方案?

【问题讨论】:

    标签: unity-container


    【解决方案1】:

    如果您想控制创建的对象的生命周期,您可以简单地使用ExternallyControlledLifetimeManager 注册它们。这将告诉 Unity,一旦它创建了一个对象,它就不再负责保持对象的活动或任何事情,因此一旦没有对象的引用被保留,GC 最终会收集它。

    That documentation 不再更新,但有关 LifetimeManager 的信息仍然相关。

    注意:我不确定我是否会让 unity 实例化大量小对象,但信息如此之少,我无法提供超出该答案的建议。

    【讨论】:

      猜你喜欢
      • 2017-12-28
      • 1970-01-01
      • 2011-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多