안드로이드 개발 질문/답변
(글 수 45,052)
개발자님들 의견을 듣고 싶어서요~
A 와 B 두종류의 Activity 가 있습니다.
A 화면에는
멤버 변수로 ArrayList 가 있습니다.
ArrayList 에는 약 1메가 정도 데이터가 있다고 가정을 하구요..
B 화면으로 이동을 합니다.
(이때 A화면은 finish()를 합니다.)
그럼 개발자님들은 메모리 관린 차원에서.
A의 onPause 혹은 onStop 혹은 onDestroy 에서
ArrayList.clear() ;
ArrayList = null;
이런식으로 초기화를 하시나요??
아니면 둘중에 하나??
아니면 둘다 안하시나요??
왠지
clear() 하고, null 처리 하는게 분명 메모리 관리하는데 좀더 효율적(?)일것 같은데~~
개발자님들은 어떻게 처리하는지 조언 구합니다.^^




객체 생명주기따라 좀 다른데요.. 별다른 구조적인 영향이 없는경우
그리고 ArrayList가 static으로 선언되지 않은 경우라면 저는 따로 건들지 않습니다.
Activity가 GC에 의해 메모리에서 정리될때 같이 될겁니다.
원래 Activity안에서 사용하는 모든 객체는 Activity가 없어질때 자연스럽게 GC가 되도록만 관리해주면 되며, 이게 잴 좋습니다.
(필요에의해 안되는경우가 있는데 그런경우에는 적어주신대로 clear도 해주고 null처리도 해줘야 하는 경우도 있겠죠.)