본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[android] Drawable 이야기

by 돼지왕 왕돼지 2013. 7. 31.
반응형


 안드로이드, Drawable 이야기

 

[android] 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 리소스는 여전히 공유된다.

똑똑한 놈이다.



반응형

댓글