마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

메모리 관리: 앱에서 연관내용을 보기 위해 계속 클릭하면 깊이가 깊어지는 문제입니다.

0 추천
앱에서 현재 페이지에 연관 컨텐츠를 클릭해 다음 페이지로 가서 또 다시 새 페이지를 쌓아가면 프래그먼트 스택에 계속 쌓이게 되는데요. 이렇게 스택의 깊이가 깊어지면 메모리 관리를 어떻게 할 수 있을까요?

제가 제작한 앱에서는 프래그먼트 페이지가 점점 쌓이면서 메모리도 쌓이고 반응 속도가 점점 느려집니다.

프래그먼트 관리는 FragmentTransaction.add()를 사용해서 계속 쌓고 있습니다.

FragmentTransaction.replace()를 쓰고 FragmentTransaction.addToBackstack()을 해주면 뒤에 쌓여있는 프래그먼트들의 메모리가 관리될까요?

도와주세요!!
익명사용자 님이 2015년 7월 24일 질문

1개의 답변

+1 추천
저 같은 경우도 님처럼 프래그먼트가 계속 쌓이는 구조로 작성되어 있긴합니다.

단, 저는 프래그먼트의 부모액티비티에서 백버튼 누를 경우엔 popBackStack을 호출합니다.

저 메소드 호출할경우 add로 프래그먼트를 추가해도 detach까지 되는걸 확인했거든요.

일단 임시로 이렇게 사용중이긴한데 님과 같은 고민을 저도 하는중입니다.

원하시는 답변이 안되서 죄송하네요^^;
컵받침 (5,500 포인트) 님이 2015년 7월 24일 답변
답글 감사합니다.
replace()를 사용 하면 뒤에 있는 프래그먼트의 껍데기만 남고 나머진 메모리 해제가 되는 걸로 알고 있습니다. 그래서 저는 replace()를 사용하거나, 아니면 안드로이드 가이드에 맞게 화면 단위를 액티비티로 재구현하려고 합니다.
...