解決WebBrowser控件會致使應用程序佔用內存居高不下問題

WebBrowser 是一個 .NET 控件類,在 .NET Framework 2.0 版中新增。WebBrowser 類使用戶能夠在窗體中導航網頁,下面咱們來看在開發中碰到WebBrowser控件會致使應用程序佔用內存居高不下問題解決方法.

今天發現剛寫的WinForm應用程序佔用內存不正常,經分析測試發現是因爲屢次建立WebBrowser控件致使,爲了便於說明問題,下邊是簡化後的代碼:jquery

Form1.cs:
 
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }web

    private void button1_Click(object sender, EventArgs e)
    {
        (new Form2()).Show();
    }
}測試

Form2.cs:
 
public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
    }線程

    private void Form2_Load(object sender, EventArgs e)
    {
        webBrowser1.Navigate("http://www.jquerycn.cn/");
    }
}orm

\'解決WebBrowser控件會致使應用程序佔用內存居高不下問題\'

 

查閱MSDN有以下說明:blog

引用內容
WebBrowser 控件會佔用大量資源。 使用完該控件後必定要調用 Dispose() 方法,以便確保及時釋放全部資源。 必須在附加事件的同一線程上調用 Dispose() 方法,該線程應始終是消息或用戶界面 (UI) 線程。事件

然而實際測試Dispose方法並不能讓內存降下來,目前沒找到好的解決方法,後又測試發如今同一WebBrowser控件中打開不一樣頁面,內存基本保持在必定的範圍,所以:應避免屢次建立WebBrowser控件,儘可能在同一WebBrowser控件打開頁面。圖片

相關文章
相關標籤/搜索