当我使用位图显示大图像时,我得到了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)发布于 2012-04-16 14:32:28
开发移动应用程序的挑战在于您的内存有限。
我记住的第一件事是尝试使用PNG(可移植网络图形)而不是BitMaps (如果可能的话)。
除此之外,这似乎是存在的问题,请检查这个:- http://code.google.com/p/android/issues/detail?id=8488
https://stackoverflow.com/questions/10169399
复制相似问题