在WPF应用程序中,我使用caliburn.micro和标签界面打开和关闭多个视图。
Conductor<Screen>.Collection.OneActive
当我打开新选项卡(视图)时,我可以看到exe进程消耗的内存正在增加,这很明显。
但是当我关闭标签(视图)时,消耗的内存仍然相同。这意味着已关闭的ViewModels
的已消耗内存尚未被垃圾回收。 (我已经等了很长时间才能观察到这一点)。
最初打开许多标签(大约20个)后,应用程序大小为~60000K,增加到~500000k。我的ViewModels
相当沉重。一旦我关闭了所有标签,消耗的内存仍然是~500000k。
我认为必须在关闭时为IDisposable
实施ViewModels
接口。
Dispose()
方法中调用OnDeactivate(bool close)
方法? ViewModel
的属性设置为null
?