Catel.ModelAttribute导致内存泄漏?

时间:2015-12-04 10:40:31

标签: c# .net mvvm memory-leaks catel

我们正在使用Catel Framework 3.9(因为我们正在制作中,因此无法升级到更新的版本)。我最近注意到,当多次打开ViewModel时,ViewModel会保留在内存中。 我将问题跟踪到一个绑定到View的DTO并使用[Model]属性。 DTO继承Catel.ModelBase,因此它会自动实现INotifyPropertyChanged。此外,所有属性都是DependencyProperties(使用Catel的RegisterProperty方法)。

我尝试从XAML中删除绑定,但它没有帮助。当我从ViewModel的属性中删除[Model]属性时,ViewModel不再保留在内存中。

我使用JetBrains dotTrace来分析内存使用情况,它显示Catel.Data.PropertyBag保留内存,如果属性使用[Model]属性,似乎不会释放它。请参见附图:在左侧,您可以看到内存中有14个ViewModel实例。

有没有人能够重现这个问题?如果我们不能再使用[Model]属性,还能做些什么呢?该问题是否已在Catel 4.0 +中解决?

dotMemory capture

0 个答案:

没有答案