본문 바로가기

나의 플랫폼/안드로이드

[Android] BitmapFactory에 문제점

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
BitmapFactory를 이용하여 Decode할 경우, Out of memory 에러가 자주 발생하죠.
 

Bitmap bitmap;

BitmapFactory.Options option = new BitmapFactory.Options();

option.inSampleSize = 2;


bitmap = BitmapFactory.decodeResource(mRes, mRes.getIdentifier(fileName, null, null), option);

 
보통 위 같은  경우에는 에러는 막을 수 있지만, 보시면 아는 바와 같이 Bitmap크기를 반으로 줄여버립니다.
저장한 Bitmap을 사용할 때, 2배로 키우게 되면 이미지가 깨지게 되죠.
 
Bitmap.createScaledBitmap(src, dstWidth, dstHeight, filter)를 사용할 때 , filter부분을 true로 해주면 어느정도 깔끔해지긴 하지만, 원본 이미지 만큼 생각하긴 힘들죠.ㅎ

http://gogorchg.tistory.com/entry/Android-Bitmap%EC%9D%84-%ED%99%95%EC%9E%A5-%EC%B6%95%EC%86%8C%ED%95%A0-%EA%B2%BD%EC%9A%B0 

그래서 구글링을 하는 도중 소중한 정보를 깔끔하게 적어놓은 분이 있으셔서 링크 해놓습니다.
BitmapDrawable을 사용하는 방법인데요.
참고해도 좋을 사항 같습니다.

http://blog.vizpei.kr/105116344  

그럼 오늘도 즐거운 하루 되세요.ㅎ