【发布时间】:2015-04-22 15:15:49
【问题描述】:
这个问题似乎与我在 WPF 窗口中托管 Winform 控件的程序部分无关。
用户会看到 X 行,并且可以在任意行上单击“编辑”以打开另一个窗口(
每次进行新选择并加载新的编辑窗口时,内存使用量都会增加 1 到 4 兆。我已经尝试在该窗口关闭时将所有对象归零/处置,但没有任何区别。
只有这个窗口会导致内存持续上升并且永远不会下降。即使我关闭了除主窗口之外的所有窗口,内存占用量仍保持在原来的位置。
【问题讨论】:
-
发生这种情况的原因有很多。您是否根据需要分离事件处理程序?您是否正在处理一次性实例?
-
我正在处理有 Dispose() 可用的东西。将“= null”用于其他一些事情。确保分离事件处理程序的最佳方法是什么?
-
在 Winform 窗口关闭后,垃圾收集器不一定会运行,这是毫无价值的。它只会在感觉需要时运行。您是否强制 gc(例如使用 PerfView)查看内存是否下降?
-
试过强制 GC,Windows 似乎不在乎。
标签: c# .net wpf winforms winforms-interop