1
为什么这个代码产生了这么多的内存使用,当你去在网页浏览器下一个页面(例如单击后退和前进,3分钟后,内存为300 MB),任何人都可以向我解释C#的foreach内存web浏览器
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
foreach (HtmlElement input in webBrowser1.Document.GetElementsByTagName("input"))
{
if (input.GetAttribute("type").ToLower() == "text")
{
input.GotFocus += null;
input.LostFocus += null;
}
}
如何在这种情况下释放内存?相反,我想添加这个。
void GotFocusForm(object sender, EventArgs e)
{
Form2.Instance.Show();
}
void LostFocusForm(object sender, EventArgs e)
{
Form2.Instance.Hide();
}
对于一个星期,我正在寻找一个解决方案。非常感谢您的帮助。
经过几次后退和前进。 Memory
为什么使用'+ = null'? –
我觉得你正在做的是'+ ='一堆,永远不会' - ='在这种情况下,事件堆积如山。 – MaLiN2223
这是例如。空值已经增加了内存。我使用此代码而不是null。 input.GotFocus + = GotFocusForm; input.LostFocus + = LostFocusForm; – Matthew