HTML 페이지에 DOM 개체에 대한 순환 참조가 메모리 누수가 발생합니다.

기술 자료 번역 기술 자료 번역
기술 자료: 830555 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

현상

개체에 있는 Microsoft Internet Explorer DOM (문서 개체 모델 () 순환 참조가 포함된 Microsoft JScript 코드를 사용하는 HTML 페이지를 새로 고칠 때 메모리 누수가 발생합니다.

원인

DOM 개체가 아닌 JScript 개체 있으므로 이 메모리 누수가 발생합니다. DOM 개체에 JScript 표시 및 스위프 가비지 수집 계획을 않습니다. 따라서 브라우저에서 페이지 아래로 완전히 tears 때까지 DOM 개체와 JScript 처리기 간의 순환 참조가 끊어진 수 없습니다. 새 웹 페이지 또는 브라우저 창의 닫을 때 브라우저에서 열 때 이 메모리 누수가 종료됩니다.

해결 방법

이 문제를 해결하려면 Jscript 코드에서 Internet Explorer DOM 개체에 대한 순환 참조를 사용하지 마십시오. 이 문서의 "추가 정보" 절에 포함된 샘플 코드에서 이 문제를 해결하려면 다음 변경할:
function hookup(element)
{
    element.attachEvent( "onmouseover", mouse);
}
function mouse () 
{
}
이 변경 내용 마우스 함수를 순환 참조를 안내하는 클로저 개체가 아닙니다.

현재 상태

Microsoft는 "본 문서의 정보는 다음의 제품에 적용됩니다." 절에 나열된 제품에서 이 문제를 확인했습니다.

추가 정보

Windows Mobile 기반 스마트폰에 GPRS 연결이 구성되어 있는지 확인합니다

  1. 메모장에 다음 코드를 붙여 넣은 다음 Test.htm 파일로 저장합니다:
    <HTML>
    <HEAD>
    <script language="javascript">
    function initpage()
    {
    window.setTimeout("window.location.reload()", 500, "javascript");
    }
    </script>
    </HEAD>
    <body onload="initpage()" >
    <div class='menu' id='menu'></div>
    <script language='javascript'>
    hookup(document.getElementById('menu'));
    function hookup(element)
    {
    element.attachEvent( "onmouseover", mouse);
    	function mouse () 
    	{
    	}
    }
    </script>
    </body>
    </HTML>
    이 코드를 처리기 (마우스 함수) attacher 후크 함수 안에 중첩됩니다. 이 정렬에서는 처리기가 이 정렬은 "닫힘" 라는 호출자가 범위에 대해 닫혀 의미합니다. 이 처리기는 가변 요소에 대한 참조를 유지 관리합니다. 이 경우 변수 메뉴 설정, ID 매개 변수에 있는 div HTML 요소를 요소입니다. 그러나 처리기에 div 요소를 참조합니다. 이 참조는 순환 참조가 있습니다.
  2. Internet Explorer에서 Test.htm을 엽니다.

    Windows 작업 관리자에서 메모리 사용량이 페이지 자체를 새로 고치는 때마다 늘리려면 계속 알 수 있습니다.

참조

Internet Explorer 누수가 패턴에 대한 자세한 내용은 다음 MSDN) Microsoft 개발자 네트워크 (웹 사이트를 방문하십시오.
http://msdn2.microsoft.com/en-us/library/Bb250448.aspx

속성

기술 자료: 830555 - 마지막 검토: 2007년 11월 2일 금요일 - 수정: 3.4
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Internet Explorer (Programming) 6.0
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer 5.01
키워드:?
kbmt kbfix kbbug KB830555 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.
더 이상 지원되지 않는 제품의 KB 내용에 대한 고지 사항
이 문서에서는 Microsoft에서 더 이상 지원하지 않는 제품에 대해 설명합니다. 따라서 이 문서는 "있는 그대로" 제공되며 업데이트되지 않습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com