我正在用WM6.1構建一個應用程序,很少有關於資源控制的問題。 我的應用程序是通過VS2008建立/ .NET CF 3.5多個控件實例的內存使用情況
窗口形式之一, 我僅放置一個web瀏覽器控件,並運行該程序,
然後打開控制面板和查看applicationm的內存使用它從25MB增長到29MB,沒什麼特別的。
之後, 我需要把30 WebBrowser控件以模擬中繼器通過下面的代碼來代表的一些內容,然後重新運行該程序:
private void FormTest_Load(object sender, EventArgs e)
{
string html ="some words";
WebBrowser wb;
for (int i = 0; i < 30; i++)
{
wb = new WebBrowser();
wb.Width = 240;
wb.Height = 100;
wb.Top = i * 100;
wb.Left = 0;
wb.DocumentText = html;
this.Controls.Add(wb);
}
}
然後,內存使用量是從25MB增加到31MB。 它只需要2MB的成本。也許這些2MB不被webbrowser使用,它是因爲這30個webbrowser的html內容。
所以我的問題是,
1.On .NET世界中,它是生成的控制界面的多個實例仍然只花了一個實例資源?
2.在form_unload上配置這30個webbrowser控件的最好方法是什麼?使用GC.Collect(); 或.net CF會爲我做?
非常感謝。