안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
비트맵의 out of memory 문제로 구글링과 질문을 요즘 많이 올리고 있는데요.
얼마전 질문의 답변중에 파일 용량이 아니라 파일의 사이즈에 따라서 용량이 잡시는 계산식을 보았는데요.
내용을 요약하면 생성을 ARGB_8888 로 하게 되면 32bit 컬러 1픽셀당 4바이트를 먹어서
이미지 사이즈가 256 * 256 이라면 4 * 256 * 256 = 262144바이트 정도가 된다고 하셨습니다.
구글링에서도 간간히 위와 같은 계산식을 본적이 있는데요.
궁금한게 제가 이미지 쪽은 거의 무지해서 그러는데
이미지에서 사용한 색상이 갯수나 투명도 뭐 그런거에 따라서도 용량이 달라질것 같은데요.
위의 계산식에서는 그런 정보 없이 사이즈로만 계산이 되어 있습니다.
정말 사이즈만으로 계산이 되는건가요?

give & take




순수하게 압축없이 이미지의 바이트 크기를 구하는 공식은 알고 계신것이 맞습니다.
1픽셀에 해당하는 정보는 4바이트죠. 1픽셀의 정보에는 Alpha(투명도), Red, Green, Blue 각각 0~255의 1바이트씩 값을 합친것입니다.
그러므로 이미지에서 사용되는 색상의 수나 투명도에 영향을 받지 않고 각 픽셀 수에 의해 결정됩니다.