전 세계적으로 저장된 그림 배열이 있습니다. 매 초마다 화면의 그림을 선택하고 사라지며 배열의 그림으로 바꿉니다. 나는 $("#picture" + picture.id).remove()
을 사용하여 현재 그림을 화면에서 제거합니다. 그런 다음 사용합니다어떻게이 Javascript 메모리 관리 오류를 해결할 수 있습니까?
$(".pictureframe").prepend(
<div id="picture+picture.id" class="imageframe" style="opacity:0; left:x px; top:y px;" >
<img class="image" width="picture.width" height="picture.height" src="picture.source" />
</div>
);
읽기 쉽도록 모든 이스케이프가 제거되었습니다. 그림은 개체이므로 picture.id는 그림 ID입니다. 문제는 페이지를 열면 (그리고 열려있는 하나만 있으면) 브라우저 메모리가 삭제된다는 것입니다. 나는 그 페이지만으로 1.4gb 사용량을 얻는다. 브라우저가 다시 삽입 될 때마다 이미지의 클론을 생성한다고 상상해 봅니다. 내가 삭제 한 DOM 요소에서 호출 할 수있는 가비지 컬렉터 삭제 기능이 있습니까? 내가 어떻게 그럴 수 있니?
DOM에서 삭제하려고하지만 DOM에서 제거하는 데 도움을 요청할 수 있습니다. 실제로 DOM에서 삭제되었는지 확인 했습니까? – fazo
예, 방화 광은 그림 프레임에 올바른 요소가 10 개뿐임을 보여줍니다. – chacham15
실제 코드를 게시하십시오. 게시 한 내용이 유효한 자바 스크립트가 아니며 실행되지 않습니다. 메모리 누수와 관련하여 도움이 필요한 경우 누수의 원인이되는 코드를 게시해야합니다. – user113716