IE WebBrowser控件中的内存泄漏

时间:2013-08-01 08:01:21

标签: c# winforms internet-explorer memory-leaks watin

在C#中,我使用web浏览器控件(Watin浏览器控件),我将此控件运行到主线程的另一个线程中。

几个小时后,会产生内存泄漏。

还有另一篇帖子(此处:How to Fix the Memory Leak in IE WebBrowser Control?How to get around the memory leak in the .NET Webbrowser control?)建议从SetProcessWorkingSetSize拨打“KERNEL32.DLL”。

解决方法是尽量减少网络浏览器控制的胜利。

所以我的问题是:如果有另一种方法可以解决这个问题?如果没有,如果我使用像mozilla-gecko这样的替代网络浏览器控件,我将解决这个内存泄漏问题。

1 个答案:

答案 0 :(得分:3)

解决方案是调用垃圾收集器&强制Windows操作系统清理内存。例如,最后你可以写:

finally
{
    GC.Collect();
    GC.WaitForPendingFinalizers();

    EmptyWorkingSet(GetCurrentProcess());
}

EmptyWorkingSet强制操作系统清理内存。