2011-11-03 105 views
0

在我的应用程序中,我正在从服务器下载图像。我在下载40张图像后出现以下错误:Android从服务器下载图像,得到了OutOfMemoryError:位图大小超过虚拟机预算异常

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个图像。当用户点击更多时,屏幕上会显示18个以上的图像。我将这些图像以ImageView和Drawable对形式存储在ArrayList中。我没有存储在SD卡上。 –

回答

2

您需要一次下载一个位图,然后将它们移出SD卡。内存中没有足够的空间来存储所有这些位图。

相关问题