본문 바로가기

프로그래밍/Delphi

[TIP] TWebBrowser 메모리 증가 방지 처리

TWebbrowser 메모리증가 처리
 
 
어플하고 웹페이지를 연결할 일이 있어서 TWebbrowser를 올리고 동적으로 폼을 생성했더니
이 폼을 없애도 메모리는 계속 남아있고 폼을 열때마다 메모리가 계속 쭈욱쭈욱~ 증가를 하더군요.

Garbage Collection의 방식 때문이라고 하는데 여튼 결론은.
폼의 OnClose 이벤트에 다음과 같이 코드를 추가해 주면 됩니다.

TWebbrowser 뿐만 아니라 다른 곳에도 적용이 되는듯 하군요.
( elphi7, Delphi2009 에서 해봤는데 둘다 정상적으로 동작을 합니다 / XP기준-Vista는 안해봤어용 )


  if Win32Platform = VER_PLATFORM_WIN32_NT then
    SetProcessWorkingSetSize(GetCurrentProcess, $FFFFFFFF, $FFFFFFFF);


추가 : speednic님이 다음과 같이 보완 해 주셨네요.. 감사 드립니니다.

speednic

SetProcessWorkingSetSize(GetCurrentProcess,dword(-1),dword(-1)); 이렇게 하시면 x86,x64시스템 전부 족용됨