2017-05-28 93 views
0

我有一個TransactionTooLargeException當我關閉/最小化我的應用程序。我假設它是由於我的Bundle太大(3個JSONArray作爲字符串),但如果有人能從我的錯誤跟蹤中診斷出更多信息,那將是非常好的。TransactionTooLargeException當最小化應用程序

這就是:

05-28 17:17:25.994 9518-9518/com.adamtrudeauarcaro.godbuilder E/JavaBinder: !!! FAILED BINDER TRANSACTION !!! (parcel size = 551100) 
05-28 17:17:25.996 9518-9518/com.adamtrudeauarcaro.godbuilder D/AndroidRuntime: Shutting down VM 
05-28 17:17:25.998 9518-9518/com.adamtrudeauarcaro.godbuilder E/AndroidRuntime: FATAL EXCEPTION: main 
                       Process: com.package.godbuilder, PID: 9518 
                       java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 551100 bytes 
                        at android.app.ActivityThread$StopInfo.run(ActivityThread.java:4211) 
                        at android.os.Handler.handleCallback(Handler.java:751) 
                        at android.os.Handler.dispatchMessage(Handler.java:95) 
                        at android.os.Looper.loop(Looper.java:154) 
                        at android.app.ActivityThread.main(ActivityThread.java:6688) 
                        at java.lang.reflect.Method.invoke(Native Method) 
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468) 
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358) 
                       Caused by: android.os.TransactionTooLargeException: data parcel size 551100 bytes 
                        at android.os.BinderProxy.transactNative(Native Method) 
                        at android.os.BinderProxy.transact(Binder.java:628) 
                        at android.app.ActivityManagerProxy.activityStopped(ActivityManagerNative.java:4132) 
                        at android.app.ActivityThread$StopInfo.run(ActivityThread.java:4203) 
                        at android.os.Handler.handleCallback(Handler.java:751)  
                        at android.os.Handler.dispatchMessage(Handler.java:95)  
                        at android.os.Looper.loop(Looper.java:154)  
                        at android.app.ActivityThread.main(ActivityThread.java:6688)  
                        at java.lang.reflect.Method.invoke(Native Method)  
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)  
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)  
+0

我認爲這來自'onSaveInstanceState()',雖然我很不確定。 – CommonsWare

+0

@CommonsWare我沒有定義該方法,錯誤仍然可能是由隱式實現引起的? –

+0

如果你在EditText中有一些巨大的文本,也許。恕我直言,這是不可能的。 – CommonsWare

回答

4

從你的錯誤跟蹤它並沒有說,但我可以從經驗告訴你,當然,出現這種情況時,你的包太大,它存儲爲保存實例狀態。這意味着當您最小化應用程序時,它會嘗試呼叫onSaveInstanceState,並且您的軟件包存儲的數據多於系統支持的數據。

+0

太棒了,我只是需要一些確認,這是改變我的設計之前的問題。謝謝! –

+0

沒問題,你也可以在這篇文章中找到幾乎允許的數量:https://stackoverflow.com/questions/12496700/maximum-length-of-intent-putextra-method-force-close – droidpl

相關問題