2008-09-18 9 views

답변

6

Microsoft에서 내부적으로 개발 한 Javascript Memory Leak detector을 사용해보십시오.

+0

감사합니다. 나는 그것을 시도 할 것이다 –

+0

그냥 사이트를보고 이것이 내가 찾고있는 것 같다. 이미 사용하고있는 디버거보다 훨씬 뛰어난 디버거가있는 것 같습니다. –

+0

하지만 페이지를 언로드 할 때 항상 감지합니다. IE7은 언로드시 누수를 복구합니다. IE 7에서 어떻게 체크합니까? – Sabya

1

기억 누출은 정말로 자신에 대한 정리가 아니라는 것을 기억하십시오. 필요한 것은 작은 조직입니다.

이전에는 DOM 요소에 이벤트를 첨부하기위한 자체 프록시 객체를 만들었습니다. 내 자바 스크립트 라이브러리의 API를 사용하여 실제로 이벤트를 설정하고 제거합니다. 프록시 자체는 모든 참조를 추적하므로 잠재적 인 메모리 누수가 모두 정리되도록 메소드를 호출 할 수 있습니다.

내 목적에 따라 사용자가 페이지를 떠날 때 전체 페이지의 누수를 정리할 수있는 단일 deconstructor를 호출 할 수있었습니다.

더 세분화되어 있어야하지만 기술은 동일해야합니다.

+0

을 : 여기

은 모두 매우 유익한, 당신이 시작할 수 있도록 링크 부부의 이벤트 핸들러에서. http://code.google.com/p/google-web-toolkit/wiki/DomEventsAndMemoryLeaks –

3

글쎄, 가장 좋은 방법은 무엇이 그들을 일으키는 지 이해하는 것입니다. 따라서 코드를 비판적으로보고 누수의 원인이 될 수있는 패턴을 식별하고 주변을 피하거나 리팩토링 할 수 있습니다. 폐쇄 관련 메모리 누수를 방지하기위한 사용자 정의 이벤트 시스템을 가지고 내가 GWT를 사용하고

+0

고마워 Dan, 사실 나는 이미 언급 한 두 번째 기사를 포함하여 이미 그것에 대해 읽었습니다. JSNI가 거의없는 GWT를 사용하고 있으므로 많은 메모리 누수 패턴이 자동으로 카드에 저장됩니다. 일부 누수가 계속 표시되지만 디버거는 누수와 관련된 TABLE과 같은 요소 만 보여줍니다. –

관련 문제