2011-01-11 13 views
7

pracuję jedna aplikacja przesyłania obrazu do sdcard jestem skalowania sdcard zapisany w bazie danych kilka razy jeden błąd występuje wielkość bitmapy przekracza budżet VMjak naprawić błąd w wielkości bitmapy przekracza VM budżet

ouput : 

01-11 15:39:51.809: ERROR/AndroidRuntime(6214): Uncaught handler: thread main exiting due to uncaught exception 
01-11 15:39:51.979: ERROR/AndroidRuntime(6214): java.lang.OutOfMemoryError: bitmap size exceeds VM budget 
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):  at android.graphics.BitmapFactory.nativeDecodeByteArray(Native Method) 
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):  at android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:384) 
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):  at android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:397) 
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):  at com.fitzgeraldsoftware.shout.presentationLayer.Shout.onActivityResult(Shout.java:1653) 
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):  at android.app.Activity.dispatchActivityResult(Activity.java:3624) 
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):  at android.app.ActivityThread.deliverResults(ActivityThread.java:3220) 
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):  at android.app.ActivityThread.handleSendResult(ActivityThread.java:3266) 
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):  at android.app.ActivityThread.access$2600(ActivityThread.java:116) 
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1823) 
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):  at android.os.Handler.dispatchMessage(Handler.java:99) 
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):  at android.os.Looper.loop(Looper.java:123) 
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):  at android.app.ActivityThread.main(ActivityThread.java:4203) 
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):  at java.lang.reflect.Method.invokeNative(Native Method) 
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):  at java.lang.reflect.Method.invoke(Method.java:521) 
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791) 
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549) 
01-11 15:39:51.979: ERROR/AndroidRuntime(6214):  at dalvik.system.NativeStart.main(Native Method) 

jaki sposób napraw błąd, proszę przesłać jakieś rozwiązanie, dzięki z góry

Odpowiedz

1

Masz wyciek pamięci. Musisz zbadać, aby go znaleźć. Może to być niepublikowana mapa bitowa lub kursor ...

Inspect the heap, aby zobaczyć, jakie masz obiekty.

+0

ja jestem u śpiewaj obiekt bitmapowy – Narasimha

+1

Upewnij się, że je buforujesz lub wywołujesz '.release()' – Aliostad