개발모음집

error Background sticky concurrent mark sweep GC freed 본문

Android

error Background sticky concurrent mark sweep GC freed

void 2018. 4. 26. 09:00
Background sticky concurrent mark sweep GC freed 325465(5MB) Alloc Space objects, 0(0B) LOS objects, 24% free, 17MB/23MB, paused 3.330ms total 111.260ms


오래 앱을 켜놓으면 앱이 멈추는 에러가 발생하였다.

로그를 찾아보니 위와 같은 에러가 나왔다.

구글에 검색을 해보니 



## 체크 사항

1. 혹시 큰 이미지를 제대로 제거 하지 않았나...

2. 거대한 Object가 static 으로 정의 되어 있는가... 

   (이럴 경우, Object를 static Instance 화 시켜 메모리가 새로 할당되는 것을 막는다.)

3. static 함수가 너무 남발되어 있지는 않은가... (전 여기에서 가장 많이 걸림)

4. 혹시, Gson 데이터 형식이 맞게 되어 있는가..

5. 혹시, 무한 반복 하고 있는 함수가 있지 않나??? 재귀로 돌고 있는 함수!


확실한것은 아니니 참고하시면 좋을듯 합니다.


출처: [항상 초심으로]


위와 같은 말이 나왔고 찾아보다보니 5번 문제였다.

for문의 조건문이 잘못되었는지 간헐적으로 무한루프가 도는 경우가 있었고, 무한루프도는 라이브러리의 메모리릭이 주요원이이었다.


메모리릭부분을 알기위해 Android Profiler를 통해 에러원인을 찾았다.