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

액티비티 finish 할때 메모리 누수 막는법 질문입니다

0 추천
현재 A액티에서 B액티로 이동했다가, B액티를 finish 하고 A액티로 돌아오면,

프로파일러에서 메모리를 보면 B액티에서 늘어난 메모리가 조금씩 쌓이고 있어서

A -> B (finish) -> A -> B(finish) 몇번 반복하다보면 메모리가 최초 100mb정도에서

300mb 넘게까지 늘어나고 버벅대다가 결국 앱이 재시작되네요,

 

B액티에서는 이미지뷰, 구글 맵뷰, 리싸이클러뷰(아이템에 이미지뷰 포함) 그외 텍스트뷰들이 있는데요

finish만 하는것이 아니라 흔적을 완전히 없애서 메모리를 복원시키려면

어떻게 해줘야 할까요..?
파르네제 (2,030 포인트) 님이 2018년 8월 3일 질문
mb 단위로 증가한다면 99% 이미지 처리 문제입니다. 이미지 처리 부분을 확인해서 onStop 호출 시 메모리 해제 해 주세요

1개의 답변

0 추천
 
채택된 답변
finish의 문제가 아닙니다. Activity B에서 먼가 잘못해서 메모리 누수가 생기고 있는 것이지요.

https://github.com/square/leakcanary

사용해보세요. 액티비티 관련 메모리 누수 찾는데 도움이 됩니다.
회색 (21,340 포인트) 님이 2018년 8월 3일 답변
파르네제님이 2018년 8월 3일 채택됨
...