본문 바로가기
[android] Tinting drawables [android] Tinting drawables http://andraskindler.com/blog/2015/tinting_drawables/ -Tinting drawable 은 현재의 theme 에 맞춘 drawable 을 만들 때 유용하게 사용할 수 있다.apk size 도 줄일 수 있는 장점이 있다. -v4 support library 에 DrawableCompat 이라는 class 가 있다.이 녀석은 원래 LOS 이상에서 가능한 tinting (색깔 입히기, 물들이기) 기능을 활용할 수 있게 한다. 그러나 이 녀석은 아직도 wrap() 라는 함수를 통해 wrap 해주어야 하는 단점이 있다.그래서 TintedBitmapDrawable 을 구현해서 사용하는 것이 추천된다. -TintedBitmap.. 2017. 9. 15.
[android] Bitmap 과 메모리에 대한 이야기. 끝판왕 android, Bitmap 과 메모리에 대한 이야기, 끝판왕! 안드로이드 메모리에 대한 이야기. 한 앱은 Dalvik Heap 과 External 두가지 영역이 존재한다.Dalvik Heap 은 Java 에서 사용하는 메모리라고 보면 되고,External 은 native 메모리라고 보면 된다. Dalvik Heap 영역은 메모리가 꽉 차면 늘긴 하지만 그 공간이 줄지는 않는다.반대로 External 영역은 유동적으로 그 공간이 늘었다 줄었다 한다.( 특히 Ginger Bread 에서는 Java Object 관리를 잘못하면 심심하면 OOM 을 만날 수 있겠다. ) HoneyComb 이전에는 bitmap 은 native memory 에서 관리했으나,HoneyComb 이후에는 bitmap 도 dalvik h.. 2014. 1. 26.
[android] Drawable 이야기 안드로이드, Drawable 이야기 Drawable 은 View Container 이다.BitmapDrawable 은 이미지를 표시, ShapeDrawable 은 도형이나 그라데이션 등을 그린다. Drawable 들은 하나의 Constant State 를 공유한다. Bitmap 이 이 Constant State 에 포함되므로동일한 비트맵의 경우 한번 로드해서 모든 Drawable 이 공유한다.즉 메모리 절약이 된다. Drawable 이 공유되어 문제되는 사항은 mutate() 함수로 해결할 수 있다. ( 예) 하나의 imageview 를 통한 bitmap 수정이 다른 imageview 에 모두 영향을 미치는 문제. )Drawable.mutate() 를 호출해주면 Constant State 가 복제된다.여.. 2013. 7. 31.
반응형