반응형
안드로이드, Drawable 이야기 |
Drawable 은 View Container 이다.
BitmapDrawable 은 이미지를 표시, ShapeDrawable 은 도형이나 그라데이션 등을 그린다.
Drawable 들은 하나의 Constant State 를 공유한다. Bitmap 이 이 Constant State 에 포함되므로
동일한 비트맵의 경우 한번 로드해서 모든 Drawable 이 공유한다.
즉 메모리 절약이 된다.
Drawable 이 공유되어 문제되는 사항은 mutate() 함수로 해결할 수 있다. ( 예) 하나의 imageview 를 통한 bitmap 수정이 다른 imageview 에 모두 영향을 미치는 문제. )
Drawable.mutate() 를 호출해주면 Constant State 가 복제된다.
여기서 중요한 것은 Constant State 는 복제되지만, Bitmap 리소스는 여전히 공유된다.
똑똑한 놈이다.
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[android] Volley java.io.IOException: Received authentication challenge is null (0) | 2013.08.01 |
---|---|
[android] Navigation Drawer 이야기. (0) | 2013.08.01 |
[android] 외장메모리에 리소스를 저장할 경우 주의사항. (0) | 2013.07.31 |
[Java] Locale Based Date Format Sample Code. (0) | 2013.07.31 |
[android] setRetainInstance( boolean ) 뭐하는 녀석이냐? (0) | 2013.07.29 |
댓글