memory reference

메모리 누수 참조 점검표

가비지 컬렉션은 도달 가능한 객체를 남긴다. 누수를 찾을 때는 전역, 타이머, 이벤트 리스너, 클로저가 불필요한 참조를 계속 잡고 있는지 본다.

01
Global

전역 변수와 캐시에 큰 객체가 남아 있는지 본다.

02
Timer

setInterval과 지연 작업이 해제되는지 확인한다.

03
Listener

제거된 DOM에 이벤트 리스너가 남지 않게 한다.

04
Closure

클로저가 오래된 상태와 DOM 참조를 붙잡는지 본다.

참조 경로 누수 신호 해제 방법 확인 도구
전역 변수 페이지 이동 후에도 데이터가 유지됨 스코프 축소, 명시적 초기화 Heap Snapshot
타이머 화면 제거 후에도 콜백 실행 clearInterval, clearTimeout Performance
리스너 DOM 제거 후 참조 유지 removeEventListener, AbortController Memory 탭
비교

동일 동작을 반복한 뒤 힙이 계속 증가하는지 본다.

도달성

루트에서 객체까지 이어지는 참조 경로를 추적한다.

정리

컴포넌트 제거 시 타이머와 리스너를 함께 해제한다.