WM6.1에서 응용 프로그램을 빌드 중이며 리소스 제어에 관한 몇 가지 질문이 있습니다. 내 응용 프로그램은/.NET CF 창 형태의 3.5여러 제어 인스턴스의 메모리 사용
하나, 나는 단 하나의 웹 브라우저 컨트롤을 배치하고, 프로그램을 실행이 VS2008에 의해 구축이다
다음 제어판을 열어 위해 응용 프로그램의 메모리 사용량을 볼 수 그것 25MB에서 29MB로 증가하며 특별한 것은 없습니다.
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);
}
}
그런 다음, 메모리 사용량이 31메가바이트에 25메가바이트에서 성장입니다 : 그 후
, 나는 코드에 따라 일부 콘텐츠를 표현하고 프로그램을 다시 실행하기 위해 중계기를 시뮬레이션하기 위해 30 웹 브라우저 컨트롤을 배치해야합니다. 비용은 2MB입니다. 어쩌면이 2MB는 웹 브라우저에 의해 소비되지 않습니다. 왜냐하면 그 30 웹 브라우저의 HTML 컨텐츠 때문일 수 있습니다.
그래서 제 질문은 여전히 하나의 인스턴스 만 자원 비용을하는 제어 UI의 여러 인스턴스를 생성,
1.On .NET의 세계인가?
2. form_unload에서 30 개의 웹 브라우저 컨트롤을 처리하는 가장 좋은 방법은 무엇입니까? GC.Collect();를 사용하여 을 사용 중입니다. 또는. NET CF 나를 위해 할 것인가?
대단히 감사합니다.