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


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

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

이미지는 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)

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

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


조회수 103


2 답변


좋아요
1
싫어요
채택취소하기

http://d2.naver.com/helloworld/429368 이 글도 한번 읽어보시면 도움될 것 같네요.

사용하신 Glide 는 없지만, 비슷한 Picasso 에 대한 내용이 있네요.

  • 2016년 11월 16일에 작성됨
    Software Engineer

  • 넵 참고하겠습니다. 답변 감사드립니다~    JoonSangYoo   2016.11.16 13:24     

자문자답이지만, Glide 라이브러리를 이용해 처리하여 문제 해결했습니다.


로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close