Java.lang.OutOfMemoryError: bitmap size exceeds VM budget.

12

我从相册中获取照片并在ImageView中显示。但我的问题是有时可以正常工作,有时会出现错误。错误是Bitmap size exceeds VM budget.。

日志错误..

04-01 10:14:57.098: ERROR/AndroidRuntime(12863): java.lang.OutOfMemoryError: bitmap size exceeds VM budget
04-01 10:14:57.098: ERROR/AndroidRuntime(12863):     at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
04-01 10:14:57.098: ERROR/AndroidRuntime(12863):     at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:459)
04-01 10:14:57.098: ERROR/AndroidRuntime(12863):     at androidexperts.wp7.facebook.WP7FB.sharePhotoDialog(WP7FB.java:200)
04-01 10:14:57.098: ERROR/AndroidRuntime(12863):     at androidexperts.wp7.facebook.WP7FB.onActivityResult(WP7FB.java:269)
04-01 10:14:57.098: ERROR/AndroidRuntime(12863):     at android.app.Activity.dispatchActivityResult(Activity.java:3890)
04-01 10:14:57.098: ERROR/AndroidRuntime(12863):     at android.app.ActivityThread.deliverResults(ActivityThread.java:3511)
04-01 10:14:57.098: ERROR/AndroidRuntime(12863):     at android.app.ActivityThread.handleSendResult(ActivityThread.java:3557)
04-01 10:14:57.098: ERROR/AndroidRuntime(12863):     at android.app.ActivityThread.access$2800(ActivityThread.java:125)
04-01 10:14:57.098: ERROR/AndroidRuntime(12863):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2063)
04-01 10:14:57.098: ERROR/AndroidRuntime(12863):     at android.os.Handler.dispatchMessage(Handler.java:99)
04-01 10:14:57.098: ERROR/AndroidRuntime(12863):     at android.os.Looper.loop(Looper.java:123)
04-01 10:14:57.098: ERROR/AndroidRuntime(12863):     at android.app.ActivityThread.main(ActivityThread.java:4627)
04-01 10:14:57.098: ERROR/AndroidRuntime(12863):     at java.lang.reflect.Method.invokeNative(Native Method)
04-01 10:14:57.098: ERROR/AndroidRuntime(12863):     at java.lang.reflect.Method.invoke(Method.java:521)
04-01 10:14:57.098: ERROR/AndroidRuntime(12863):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
04-01 10:14:57.098: ERROR/AndroidRuntime(12863):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
04-01 10:14:57.098: ERROR/AndroidRuntime(12863):     at dalvik.system.NativeStart.main(Native Method)            

你正在尝试加载大型图像文件。使用bitmap.option方法按比例缩小原始图像,例如5倍,这样它将需要更少的内存,因此不会导致错误。谢谢。 - Piyush Patel
我已经在使用位图选项方法了。 - Niranj Patel
3
请使用 BitmapFactory.Options.inSampleSize 来缩小图片。将其设置为大于1的值(设置更高的值)即可。 - Piyush Patel
@piyushnp,请将您的评论移动到答案框中,以便CapDroid可以接受它。 - Rajath
2个回答

7

使用BitmapFactory.Options.inSampleSize,将其设置为大于1的值,以缩小图像。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接