안드로이드 imageView (OOM Error) 관련 질문.

조회수 5343회

안녕하세요. 앱 개발중에 문제가 생겨 질문 남깁니다.

제가 한 화면에 많은 양의 이미지를 처리하려고 하는데요.

이미지는 jpg로 2~30 kb정도의 용량을 가진 파일을 약 70장 정도 이어붙였습니다.

해상도는 평균 300x500을 가지고 있구요.

XML에 정적으로 orientation="vertical" 로 설정해서 세로로 정렬하여

스크롤하여 이미지들을 보여주려고 합니다.

많은양의 이미지를 보여주다보니 메모리 초과 에러가 나는데요.

구글링을 해보니 간단한 방법으로는 메니페스트에서 android:largeHeap="true" 를 추가하라고 하는데, 이 방법은 해결이 안되네요.

또한 어떤 스마트폰에선 구동이 되는데 그것과 다른 스마트폰에서는 앱이 죽어버립니다..

아래는 에러 코드인데, 뒤쪽에 있는 제한 메모리가 처음 켰을때는 5메가 정도 되더니

이후에는 저런식으로 1메가대로 더 줄어버리더라구요.

  java.lang.OutOfMemoryError: 
Failed to allocate a 8103900 byte allocation with 1166400 free bytes and 1139KB until OOM 
at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)

이것과 관련해서 아시는 내용이 있으시거나 비슷한 예제를 아신다면 답변 부탁드립니다.

긴 질문 읽어주셔서 감사합니다. 좋은 하루 되시길..!

  • (•́ ✖ •̀)
    알 수 없는 사용자

2 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)