현재 작업 중인 프로젝트에서 다수의 ArrayList를 사용 중 입니다.
ArrayList<CombinedData> dataList = new ArrayList<>();
dataList.add(data1);
dataList.add(data2);
dataList.add(data3);
dataList.add(data4);
...
프로그램 내에서 위와 같이 사용 중인 ArrayList를 비우고, 다시 할당하는 경우가 많은데, (참고로CombinedData 는 직접 만든 클래스이고 멤버 인스턴스를 여러 개 가지고 있는 형태입니다.) 비우는 방법은 제가 아는 바로는 다음과 같이 3가지 정도로 정리 할 수 있을 것 같은데요.
1. dataList = new ArrayList<>(); // 비우지 않고 새로 생성.
2. dataList.clear();
3. dataList.removeAll();
위 3가지 모두 메모리 누수에 대한 문제를 걱정할 필요가 없는 것인지 궁금합니다. GC가 진행되는 시점의 차이만 있을 뿐이지 결국 모두 GC가 이뤄지게 되는 것인지요.