我正在用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会为我做?
非常感谢。