마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

비트맵을 쓰지 않는데 OOM 에러가 발생합니다.

0 추천

  

Caused by: java.lang.OutOfMemoryError
at android.graphics.Bitmap.nativeCreate(Native Method)
at android.graphics.Bitmap.createBitmap(Bitmap.java:605)
at android.graphics.Bitmap.createBitmap(Bitmap.java:551)
at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:437)
at android.graphics.BitmapFactory.finishDecode(BitmapFactory.java:524)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:499)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:351)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:773)
at android.content.res.Resources.loadDrawable(Resources.java:1935)
at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
at android.view.View.<init>(View.java:2802)
at android.view.ViewGroup.<init>(ViewGroup.java:385)
at android.widget.LinearLayout.<init>(LinearLayout.java:174)
at android.widget.LinearLayout.<init>(LinearLayout.java:170)
... 26 more

에러스텍은 위와 같습니다.

발생환경은 엑티비티 스텍이 일정량 이상 쌓였을 때 발생합니다.

한 8~10개정도 쌓이면 저렇게 되네요.

비트맵이 아니라 레이아웃 때문에도 Out Of Memory가 날 수 있는지요?

    그럴 경우엔 어떻게 자원관리를 해줘야 하나요? 참고로 minSdkVersion이 8(프로요)입니다.

 

익명사용자 님이 2014년 8월 13일 질문

1개의 답변

0 추천
레이아웃에 들어가는 이미지도 모두 비트맵입니다.

manifest에 largeheap=true를 줘보세요
기초개발자 (24,060 포인트) 님이 2014년 8월 13일 답변
...