안드로이드 개발 질문/답변
(글 수 45,052)
OutOfMemoryError bitmap size exceeds VM budget
제가 첨부한 이미지 보시면 오류가 났는데요.
왜 이 오류가 났는지 모르겠습니다.
메모리오버 같은데.
분명 잘 되고 있던 프로그램에서 이미지파일은 거의 대부분그대로 유지했고.
몇몇 코드만 고쳤을 뿐인데
오류가 나네요.
확실히 메모리 오버인지 아닌지 알고 싶습니다.
예전에 질문을 올렸던적 있는것 같은데요
같은 상황인데 gif 일때는 오류가 안나고 png 일때는 오류가 나는 상황이 있었습니다 ^^
감사합니다.
제가 첨부한 이미지 보시면 오류가 났는데요.
왜 이 오류가 났는지 모르겠습니다.
메모리오버 같은데.
분명 잘 되고 있던 프로그램에서 이미지파일은 거의 대부분그대로 유지했고.
몇몇 코드만 고쳤을 뿐인데
오류가 나네요.
확실히 메모리 오버인지 아닌지 알고 싶습니다.
예전에 질문을 올렸던적 있는것 같은데요
같은 상황인데 gif 일때는 오류가 안나고 png 일때는 오류가 나는 상황이 있었습니다 ^^
감사합니다.
2009.04.30 13:59:13
조건에 따라서 같은 크기의 비트맵이라도 두배의 용량을 차지할 수가 있습니다. 실제로 메모리에 로드되는 방식이 여러개 있기 때문이구요. 일반적으로 투명한 영역을 포함하는 PNG는 가장 큰 용량을 차지한다고 생각하시면 됩니다. 그렇다고 하더라도 일단 어플리케이션에서 지나치게 많은 메모리를 사용하는 것은 아닌지 적절히 관리해줄 필요가 있습니다.
2009.09.16 16:48:34
저도 지금 (2009.09.16) 동일한 에러가 발생합니다.
Bitmap이 Size도 크고 여러개 되니 바로 Memory 부족이랍니다.
관련 자료를 검색한 결과 BitmapFactory가 파일로 부터 읽어때 Decoding 하면서 Memory Leaking이 발생되는 것 같고
개발자로 부터 여러 사례가 제기 된 적이 있다고 합니다.
해결방법은 자료에서 알려준대로 (근본적인 해결책은 아닌 것같은..) Bitmap 변수에 Static을 추가하니 되는 것 같아요
아래 내용을 참조하시길
http://groups.google.com/group/android-developers/browse_thread/thread/a127b36e22d8753e
png가 안드로이드 메모리를 따로 많이 잡아 먹을수도 있을까요?
용량의 문제는 아닐꺼라고 생각합니다 ^^