我有一个使用 MVVM Prism 编写的 WPF 应用程序。它有很多标签。这些选项卡每个消耗大约 2..3 MB 的内存。客户抱怨说,在打开和关闭几十个选项卡后,应用程序消耗的内存比一开始时要多得多。此外,打开新标签需要更多内存,因此应用程序不会使用旧标签而是创建新标签。
所以很明显旧标签不是垃圾收集的。显然是因为有一些链接指向它们。
我如何以任何方式收集它们?我应该只实现 IDisposable,并删除所有可能的引用吗?并确保在析构函数中也调用了 Dispose 方法?我不确定是否可以删除所有不需要的引用。
也许我可以使用一个很好的工具来帮助我解决这个问题?