2012-09-24 54 views
0

我在一個小的WPF應用程序中有一個奇怪的行爲。我在窗口上有一個按鈕,它打開另一個窗口作爲一個對話框,它有幾個動態添加的控件。在做這件事時,我會密切關注其增加的內存使用情況(sysinternal procexp)。但是當我關閉那個窗口時,內存使用不會回來。WPF控件不釋放內存

+1

當系統內存不足時,釋放內存回操作系統不符合GC的利益,因此外部測量應用程序的內存使用量並不能準確反映實際消耗的內存量。爲此,您需要獲得.NET特定的內存分析工具。 –

+0

但我已經嘗試顯式調用GC.Collect,因此即使釋放內存不需要垃圾收集器也會運行。這沒有任何區別。 –

+0

很可能有些東西沒有被處置。 – Paparazzi

回答

0

我推薦使用這個工具http://memprofiler.com/ 我有一些類似的WPF和勝利形式的經驗。 它可能不會像以前建議的那樣處理,但memprofiler會告訴你它到底是什麼,並找到解決方案非常簡單。