메모리 누수 원인 분류

메모리 증가는 도달 가능한 참조를 역추적해 진단한다

가비지 컬렉션은 도달 불가능한 객체만 회수하므로, 누수 분석은 무엇이 아직 객체를 붙잡고 있는지 찾는 과정입니다.

1

증상 관찰

탭 유지 중 힙 사용량이 계속 상승하는지 확인한다.

2

루트 추적

전역, 실행 중인 함수, DOM 참조에서 출발한다.

3

보유자 식별

타이머, 리스너, 클로저가 객체를 잡고 있는지 본다.

4

해제 경로

clearInterval, removeEventListener, 참조 null 처리로 끊는다.

전역 변수페이지 수명 주기 동안 살아 있으므로 임시 데이터를 올리지 않는다.
타이머반복 실행 콜백이 외부 객체를 계속 참조하면 해제가 늦어진다.
이벤트 리스너DOM 제거 시 리스너 정리 책임도 함께 설계한다.
클로저필요 이상으로 큰 데이터를 캡처하지 않고 종료 시 참조를 끊는다.

DevTools의 Memory 스냅샷은 남아 있는 객체 자체보다, 그 객체까지 이어지는 참조 경로를 읽는 도구로 활용해야 합니다.