【发布时间】:2012-04-27 12:05:43
【问题描述】:
我在使用位图显示大图像时收到java.lang.OutOfMemoryError。
为了调整位图大小,我参考了以下链接Save Bitmap and BitmapFactory.decodeFile。
我的logcat如下:
FATAL EXCEPTION: main
java.lang.OutOfMemoryError
at android.graphics.Bitmap.nativeCreate(Native Method)
at android.graphics.Bitmap.createBitmap(Bitmap.java:604)
at android.graphics.Bitmap.createBitmap(Bitmap.java:551)
at com.android.restaurant.DescriptionPage.getResizedBitmap(DescriptionPage.java:327)
at com.android.restaurant.DescriptionPage.setDetailsIntoLayout(DescriptionPage.java:172)
at com.android.restaurant.DescriptionPage.onCreate(DescriptionPage.java:101)
at android.app.Activity.performCreate(Activity.java:4397)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1782)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1834)
at android.app.ActivityThread.access$500(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1027)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:132)
at android.app.ActivityThread.main(ActivityThread.java:4135)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:491)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
at dalvik.system.NativeStart.main(Native Method)
【问题讨论】:
-
您的代码有问题,或者手机内存不足。无论哪种方式,我们都无法帮助您,至少在您发布代码之前是这样。
-
@Raman-Mystry - 请参阅下面的“高效显示位图”文章。如果您仍然遇到问题,请 1) 发布相关代码,2) 告诉我们有关您的位图的一些信息(例如它的硬件大小和文件大小!),3) 告诉我们您的系统之前有多少内存尝试加载位图
-
[试试看][1] [1]:stackoverflow.com/questions/10081008/… 真的会帮到你。
-
@paulsm4 :我已经更新了我的问题。
标签: android bitmap out-of-memory