안드로이드 개발 질문/답변
(글 수 45,052)
제가 현재 화보 어플을 만들고 있습니다.
ViewFlipper를 이용하여 풀사이즈, 480x800이미지를 보여주고 있습니다.
총 8개의 카테고리에 8,9장씩 구성하고 있습니다. ViewFlipper를 이용해야 하니 이미지들을 메모리에 로드시키고 보여주고 있습니다.
물론 이미지들을 메모리에 로드시키는게 맘에 들지 않지만 ViewFlipper를 이용하여 다음, 이전 이미지를 봐야하니...
그래서 중간 중간 out of memory, vm budget이 발생하고 있습니다.
이것을 좀 해결할 방법이 없을까요? 조언부탁드립니다.
ViewFlipper를 이용하여 풀사이즈, 480x800이미지를 보여주고 있습니다.
총 8개의 카테고리에 8,9장씩 구성하고 있습니다. ViewFlipper를 이용해야 하니 이미지들을 메모리에 로드시키고 보여주고 있습니다.
물론 이미지들을 메모리에 로드시키는게 맘에 들지 않지만 ViewFlipper를 이용하여 다음, 이전 이미지를 봐야하니...
그래서 중간 중간 out of memory, vm budget이 발생하고 있습니다.
이것을 좀 해결할 방법이 없을까요? 조언부탁드립니다.
2010.11.01 11:10:41
gallery에서 view가 호출 될때마다 이미지를 새로 호출 하는 이유가 out of memory 때문인거 같더라구요
사이즈를 줄여서 호출 하시거나 사용되지 않는 view에 bitmap은 recycle로 메모리 해제 해주시는게 좋을꺼 같네요.
글고 Bitmap.decode계열의 함수가 메모리 문제가 있다고 하던데요?
2010.11.01 11:10:55
일단 리소스는 사용후에 바로 해지시켜주면 메모리 문제는 크지 않을것 같습니다만..
리소스 해지를 안시켜주면 대략 50개 넘어가면 에러 발생하더군요
리소스 해지를 안시켜주면 대략 50개 넘어가면 에러 발생하더군요
2010.11.01 11:13:32
당연히 bitmap은 생성자, 액티비티 onCreate에서 recycle시켜주고 있습니다. 그리고 화보 이미지는 setImageDrawable를 사용하고 있습니다. 그리고 액티비티의 onDestroy에서 drawable들을 setCallBack(null)로 해지시켜 주고 있습니다.