반응형
원문 : http://ecogeo.tistory.com/287
메모리 관리에 관한 내용을 찾던 중 링크 정리를 잘해주셔서 스크랩 했습니다.
아래는 원문의 내용과 동일합니다.
메모리 관리에 관한 내용을 찾던 중 링크 정리를 잘해주셔서 스크랩 했습니다.
아래는 원문의 내용과 동일합니다.
가끔씩 마주치게 되는 "OutOfMemoryError : bitmap size exceeds VM budget" 에러는 메모리 누수가 주요 원인입니다. 이와 관련된 링크를 모아봤습니다.
* 액티비티가 멈출 때 비트맵을 재활용(즉 GC)되게 하라
- bitmap 이미지인 경우 recycle() 호출
- onPause에서 수행하는게 좋음
- ((BitmapDrawable)imageView.getDrawable()).getBitmap().recycle();
* 이미지를 미리 줄여서 읽어들여라
- BitmapFactory.Options.inSampleSize 활용
* Activity Context에 대한 참조(reference)를 오랫동안 유지하지 말아라
( 한글 번역 : http://blog.naver.com/huewu/110082062273 )
- Drawable.setCallback(null) 사용
- WeakReference를 가진 static 내부 클래스
- 이미지를 static 변수로 처리하지 마라
* 외부(outer) 클래스의 상태에 의존하지 않는 내부(inner) 클래스는 static으로 선언하라
- 내부클래스는 외부 클래스 인스턴스를 크게 만들며 또한 외부클래스 객체가 필요이상으로 오래 살아있게 되어 메모리를 더 차지할 수 있음
- 외부클래스의 상태 필드에 접근하지 않는(즉 외부 객체의 상태에 의존하지 않는) 내부클래스는 static으로 선언
* Attacking memory problems on Android
반응형
'안드로이드' 카테고리의 다른 글
[안드로이드] Dialog의 화면 외부가 어두어지는(검은색 반투명) 동작 없애기 (0) | 2011.09.05 |
---|---|
[안드로이드] 전화번호 포맷에 맞게 변환하기 (0) | 2011.09.02 |
[안드로이드] /dev 디렉토리 권한 설정 (0) | 2011.09.01 |
[안드로이드] ListView의 Selector에 관해서... (0) | 2011.08.31 |
[안드로이드] StateListDrawable에서 Drawable 가져오기 (0) | 2011.08.31 |
(Mango64 & Android) Wireless Tools 포함 빌드 방법 (0) | 2011.08.25 |
(Mango64 & Android) Wireless Tools 활용법(iwconfig,iwlist) (0) | 2011.08.24 |
[안드로이드] adb로 sqlite3 사용하기 (0) | 2011.08.17 |
안드로이드 "ADB" 유틸리티 설치 및 명령어 사용방법 (0) | 2011.08.15 |
[안드로이드] 멀티쓰레드에서의 성능 향상 (0) | 2011.08.12 |