반응형
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Collection Framework
- php 홈디렉토리 변경방법
- 비행기 모드
- 자바
- tcp네트워크
- 아이패드
- 리눅스
- End of Darkness
- 나지보 특성
- 벨팡
- tcp
- 아이폰
- unity
- 명령어
- 컬렉션 프레임
- 나지보
- 안드로이드
- 히오스
- game
- 어플
- 에셋
- 변경된 정보
- 게임
- 포트(Port)
- TCP 네트워크 방식의 연결
- 스랄 특성
- 소캣(Socket)
- 안드로이드 Application Lifecycle
- 기업의 행포
- 집 정리
Archives
- Today
- Total
Do Something IT
[안드로이드]안드로이드 힙메모리 관리하기 본문
반응형
출처 : http://www.androidpub.com/1080886
비트맵 관련 앱에서 많이 발생하는 힙메모리 관련 오류 해결하기
비트맵 관련 앱에서 많이 발생하는 힙메모리 관련 오류 해결하기
개발 환경 - 안드로이드 2.1
1. 액티비티
- onCreate에서 dalvik 버추얼 머신에게 힙메모리 임계값 지정하기 (70%)
dalvik.system.VMRuntime.getRuntime().setTargetHeapUtilization(0.7f); --> 메인 액티비티에서 한번만 지정
- onDestroy 이벤트에서 모든 지역변수 null 처리히기, 모든 비트맵 인스턴스 변수 recycle 시키기,
메인앱에서 System.gc() 한번 호출하기
- dalvik 버추얼 머신에게 dalvik.system.VMRuntime.getRuntime().runFinalizationSync()를
호출하여 강제로 클래스들의 finalization 호출하기
2. 뷰를 상속한 차일드뷰
- destroyDrawingCache 메소드를 상속 받아서 이부분에서 비트맵 인스턴스들 recycle 및 null 처리하기
제가 그래픽 관련 앱을짜면서 가장 애먹은 부분이 힙메모리 부분이었습니다.
힙모메리가 한계값까지 계속 늘어나기만 하고 줄어들지 않아서 결국에는 앱이 강제 종료 되는 현상이
계속 발생하더군요.. 구글링으로 여기저기 뒤지다가 안드로이드 플랫폼에서는 앱을 사용자가 종료를
시켜도 실제로는 메모리에 상주해 있어서 메모리가 계속 늘어나는 현상이 있다고 합니다.
반응형
'Android' 카테고리의 다른 글
[안드로이드] 네트워크 체크 4g (0) | 2011.09.01 |
---|---|
[안드로이드] 로우 메모리 콜백 메서드 (0) | 2011.06.17 |
[안드로이드] 애드몹 (0) | 2011.05.27 |
[안드로이드] java.util.regex.PatternSyntaxException: Syntax error U_REGEX_RULE_SYNTAX near index 1: 예외처리 (0) | 2011.05.26 |
비행기 모드 체크 (0) | 2011.05.16 |
Comments