我最近開發了一個WPF應用程序,它重新託管了一些具有一些自定義活動的工作流設計器。 在以下情況之後,我遇到了一個內存問題(Out Of Memory Exception):我打開了一個具有超過150個活動的舊工作流程,並開始修改它們(打開一個窗口,修改一些數據,保存並關閉窗口),直到發生異常。 在這個階段,我的應用程序有1.4 GB的內存使用量,所以我開始尋找解決方案。 知道我在我的應用程序中使用MVVM,我正在使用數據和命令綁定,我的視圖正確地使用metro mahapps窗口中定義的window.close()命令關閉。WPF WF4.5重新設計的設計器內存問題
我使用ANTS Memory Profiler來查找泄漏源,並且當我的應用程序內存使用量爲1.35 GB時,我使用了內存快照。 經過分析,保存在內存中的實例是System.Byte []類型,並且GC根目錄的路徑是: System.Byte [] ==> System.IO.MemoryStream ==> System.Windows.Baml2006.SharedStream = => System.Windows.Baml2006.BamlBinaryReader ==> System.Windows.Baml2006.Baml2006Reader ==> System.Windows.ResourceDictionnary ==> System.Windows.ResourceDictionnary [] ==> List ==> ResourceDictionaryCollection ==> ResourceDictionary = => System.Windows.EffectiveValueEntry [] ==> MyView
我非常感謝您的幫助。謝謝。
您使用Autofac或其他IOC容器嗎? – helmsb
沒有@helmsb,我不是 – Ouuss