메모리 효율적인 코드
1. 서비스를 아껴서 사용해라. 필요하지 않을때 서비스를 실행중으로 두지 말아라
: intentservice를 이용해라(완료되면 종료)
2. 최적화된 데이터 컨테이너를 사용해라.
일반 해쉬맵보다 sparseArray가 더 효율적이다.
3. 코드 추상화에 주의해라
- 추상화에는 상당한 비용이 들어간다.(메모리맵핑에 더많은 시간과 메모리필요)
4. 직렬화된 데이터에 nano protobufs 사용해라
5. 메모리변동을 피해라.
-짧은 시간에 발생하는 많은 gc는 프레임시간을 잡아먹는다.
종종 메모리 변공으로 인해 많은 수의 gc가 일어날수있다. ex) for문안에 여러 임시 객체 생성 -> gc유도
6. 메모리 중심의 리소스 및 라이브러리 제거
7. apk크기를 줄인다.
8. 외부라이브러리를 주의한다.