2015-01-31 31 views
0

在我的模擬器,Nexux5 4.1.2的Android(4.2.2安卓其偉大的工作)我得到這個錯誤:decodeByteArray崩潰我的應用程序 - Android電子

01-31 19:32:05.528: E/AndroidRuntime(885): FATAL EXCEPTION: main 
01-31 19:32:05.528: E/AndroidRuntime(885): java.lang.OutOfMemoryError 
01-31 19:32:05.528: E/AndroidRuntime(885): at android.graphics.BitmapFactory.nativeDecodeByteArray(Native Method) 
01-31 19:32:05.528: E/AndroidRuntime(885): at android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:426) 
01-31 19:32:05.528: E/AndroidRuntime(885): at android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:444) 
01-31 19:32:05.528: E/AndroidRuntime(885): at com.example.imhere.Home$14$1.done(Home.java:823) 
01-31 19:32:05.528: E/AndroidRuntime(885): at com.parse.GetDataCallback.internalDone(GetDataCallback.java:20) 
01-31 19:32:05.528: E/AndroidRuntime(885): at com.parse.GetDataCallback.internalDone(GetDataCallback.java:15) 
01-31 19:32:05.528: E/AndroidRuntime(885): at com.parse.Parse$6$1.run(Parse.java:975) 
01-31 19:32:05.528: E/AndroidRuntime(885): at android.os.Handler.handleCallback(Handler.java:615) 
01-31 19:32:05.528: E/AndroidRuntime(885): at android.os.Handler.dispatchMessage(Handler.java:92) 
01-31 19:32:05.528: E/AndroidRuntime(885): at android.os.Looper.loop(Looper.java:137) 
01-31 19:32:05.528: E/AndroidRuntime(885): at android.app.ActivityThread.main(ActivityThread.java:4745) 
01-31 19:32:05.528: E/AndroidRuntime(885): at java.lang.reflect.Method.invokeNative(Native Method) 
01-31 19:32:05.528: E/AndroidRuntime(885): at java.lang.reflect.Method.invoke(Method.java:511) 
01-31 19:32:05.528: E/AndroidRuntime(885): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
01-31 19:32:05.528: E/AndroidRuntime(885): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
01-31 19:32:05.528: E/AndroidRuntime(885): at dalvik.system.NativeStart.main(Native Method) 

線com.example.imhere.Home $ 14 $ 1.done(Home.java:823)是: 位圖bmp = BitmapFactory.decodeByteArray(data,0,data.length);

'data'是byte []。

我能做些什麼?

感謝

回答

1

的錯誤是OutOfMemoryError,這意味着它說什麼。您正試圖從非常大的輸入中製作圖像。我會調查byte[]有多大,以及最終的圖像是否適合手機內存。

+0

但是,爲什麼會發生這種情況只有4.1.2版本?我可以做什麼? 在過去,我有這個問題,其他版本,我補充了行: android:largeHeap =「true」 – Ron 2015-01-31 19:57:06

0

每次我嘗試上傳照片並將其顯示在相同或下一頁時,我遇到了同樣的問題。我發現下面的解決方案,使我的應用程序有更少的OutOfMemoryErrors


我在AndroidManifest.xml添加時,<application ... >標記內這一行: android:largeHeap="true"


從上述Appart酒店,在每個地方我被解碼的字節數組將其轉換爲位圖,我確實它完全是這樣的:

BitmapFactory.Options options = new BitmapFactory.Options(); 
options.inSampleSize = 5; 

Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length, options);