java memory 무한 증가.. 가비지 컬렉터 호출로 해결하기
1 | pathname = null; |
- 내가 원할 때 가비지 컬렉터를 호출할 수 있다.
System.gc();
상황
- java.awt.Robot 으로 스크린샷을 찍고 이미지 파일로 저장하는 로직이 있었다
- 이거를 runnable jar로 익스포트하고 실행해사 잘 사용하고 있었는데
- 스크린샷을 찍는 함수가 실행될 때마다 메모리가 20mb 씩 증가했다…
- 함수가 끝낼 때에 맞춰서 사용한 변수들을 전부다 null을 대입했는데도 해결되지 않았다
해결
- 마지막에 가비지 컬렉션을 호출함으로써 메모리가 폭풍증가하지 않게되었다