Caliburn.Micro在关闭时处理ViewModel

时间:2016-07-07 08:32:19

标签: c# wpf mvvm caliburn.micro idisposable

在WPF应用程序中,我使用caliburn.micro和标签界面打开和关闭多个视图。

Conductor<Screen>.Collection.OneActive

当我打开新选项卡(视图)时,我可以看到exe进程消耗的内存正在增加,这很明显。

但是当我关闭标签(视图)时,消耗的内存仍然相同。这意味着已关闭的ViewModels的已消耗内存尚未被垃圾回收。 (我已经等了很长时间才能观察到这一点)。

最初打开许多标签(大约20个)后,应用程序大小为~60000K,增加到~500000k。我的ViewModels相当沉重。一旦我关闭了所有标签,消耗的内存仍然是~500000k。

我认为必须在关闭时为IDisposable实施ViewModels接口。

  1. 任何人都可以通过提供示例代码帮助我解决这个问题吗?
  2. 我是否需要在覆盖Dispose()方法中调用OnDeactivate(bool close)方法?
  3. 我是否需要将ViewModel的属性设置为null

0 个答案:

没有答案