2011-11-03 2 views
0

내 앱에서 서버에서 이미지를 다운로드하고 있습니다. 40 개 이상의 이미지를 다운로드 한 후 다음 오류가 발생합니다.Android에서 이미지 다운로드 서버에서 OutOfMemoryError가 발생했습니다. 비트 맵 크기가 VM 예산 예외를 초과합니다.

11-03 20:16:17.185: W/dalvikvm(12081): threadid=10: thread exiting with uncaught exception (group=0x40015560) 
11-03 20:16:17.185: E/AndroidRuntime(12081): FATAL EXCEPTION: Thread-41 
11-03 20:16:17.185: E/AndroidRuntime(12081): java.lang.OutOfMemoryError: bitmap size exceeds VM budget 
11-03 20:16:17.185: E/AndroidRuntime(12081): at android.graphics.BitmapFactory.nativeDecodeStream(Native Method) 
11-03 20:16:17.185: E/AndroidRuntime(12081): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:470) 
11-03 20:16:17.185: E/AndroidRuntime(12081): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:336) 
11-03 20:16:17.185: E/AndroidRuntime(12081): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:697) 
11-03 20:16:17.185: E/AndroidRuntime(12081): at android.graphics.drawable.Drawable.createFromStream(Drawable.java:657) 
11-03 20:16:17.185: E/AndroidRuntime(12081): at com.twintechs.bl.ImageLoader.downloadDrawable(ImageLoader.java:25) 
11-03 20:16:17.185: E/AndroidRuntime(12081): at com.twintechs.itsr.LatestActivity$10.run(LatestActivity.java:332) 

어떤 아이디어가 있습니까?

+0

분명히 메모리가 부족합니다 ... ?? – Rob

+0

메모리 또는 SD 카드에 다운로드 중입니까? –

+0

사실, 한 번에 18 개의 이미지가 표시됩니다. 사용자가 more를 클릭하면 18 개 이상의 이미지가 화면에 표시됩니다. 이 이미지를 ImageView 및 Drawable 쌍 형식의 ArrayList에 저장합니다. SD 카드에 저장하지 않습니다. –

답변

2

비트 맵을 한 번에 하나씩 다운로드하여 SD 카드로 옮겨야합니다. 모든 비트 맵을 저장하기위한 메모리 공간이 부족합니다.

관련 문제