2012-08-01 4 views
0

내 C# 응용 프로그램은 .net WebBrowser를 사용합니다. 자식 컨트롤을 매번 닫아야하고 WebBrowser가 처리되지 않고 RAM 사용이 각 새 컨트롤 선언에 약 10MB 가량 많이 증가하고 있으며 OutOfMemoryException을 사용하여 응용 프로그램이 충돌한다는 것을 알았습니다. 포럼을 검색했지만 깨끗한 솔루션을 찾을 수 없습니다. 시도 됨 SetProcessWorkingSetSize (pHandle, -1, -1); RAM 사용량이 줄어들지 만 문제를 해결할 수있는 깨끗한 방법은 아니지만 가상 메모리는 줄이지 ​​않습니다..Net WebBrowser 컨트롤 메모리 누수

이 문제가 년 이후, 자세한 내용은이 스레드 How to get around the memory leak in the .NET Webbrowser control?

어떤 제안을 살펴 존재 보인다? 거의 모든 것을 시도했지만 아직 성공하지 못했습니다.

감사합니다,

Abhinav

+0

귀하의 질문은 귀하가 링크 한 것과 정확히 일치하는 것으로 보입니다. 이 컨트롤을 해당 질문에 설명 된 방법과 다르게 사용하고 있습니까? – Justin

+0

글쎄, 스레드가 메모리 누수를 각각의 "탐색"함수 호출을 참조하지만 내 사용 사례에 대해 매번 WebBrowser를 삭제하고 새 인스턴스를 만들어야합니다. 아직도 나는 메모리 누수에 직면하고있다. – abhinavp

+0

가능한 [.NET 웹 브라우저 컨트롤에서 메모리 누수를 해결하는 방법?] (http://stackoverflow.com/questions/8302933/how-to-get-around-the-memory-leak-in-the -net-webbrowser-control) –

답변

1

나는 상황이 광산 비슷한하지만 난 그 이상한 문제에 대한 삼일 낭비 여부를 알 수 없습니다. 내 응용 프로그램이 웹 페이지에서 검색을 수행하고 내 코드가 그랬습니다. 대한

1.Open 웹 페이지
(1000 배)
{
2.Write 입력하고 검색 버튼을 클릭합니다.
3. 결과를 확인하십시오.
}

내 프로그램은 웹 페이지를 열고 페이지 (탐색 트리)를 열고 searches.Here을 반복하게시피 한 번만 발생합니다. 내 프로그램의 메모리 소비가 1GB 이상으로 계속 증가했습니다! 그런 다음 내비게이션을 루프 안에 넣으려고했습니다.

에 대한

(1000 배)
{
1.Open 웹 페이지
2.Write 입력 및 월로 버튼을 클릭합니다.
3. 결과를 확인하십시오.

정확히 이유는 모르지만 오랫동안 같은 페이지를 재사용하는 것이 내 문제의 원인이었습니다. 나는 그것이 도움이되기를 바랍니다.