2017-05-28 4 views
0

Je rencontre une exception TransactionTooLargeException lorsque je ferme/minimise mon application. Je suppose que c'est dû à mon paquet étant trop grand (3 JSONArrays en tant que chaînes), mais ce serait génial si quelqu'un peut diagnostiquer plus d'informations de ma trace d'erreur.TransactionTooLargeException lors de la minimisation de l'application

Ici, il est:

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

Je pense que cela vient de 'onSaveInstanceState()', même si je suis loin d'être certain. – CommonsWare

+0

@CommonsWare Je n'ai pas défini cette méthode, l'erreur pourrait-elle toujours être causée par l'implémentation implicite? –

+0

Si vous aviez du texte énorme dans un EditText, peut-être. C'est improbable, à mon humble avis. – CommonsWare

Répondre

4

De votre erreur trace ne dit pas, mais je peux vous dire par expérience certainement que cela se produit lorsque votre paquet est trop grand pour stocker comme un état d'instance enregistrée . Ce qui signifie que lorsque vous réduisez l'application, elle essaie d'appeler le onSaveInstanceState et votre bundle stocke plus de données que celles supportées par le système.

+0

Génial, j'avais juste besoin d'une confirmation que c'était le problème avant de changer de design. Merci! –

+0

Pas de problème, vous pouvez également trouver presque le montant autorisé dans cet article: https://stackoverflow.com/questions/12496700/maximum-length-of-intent-putextra-method-force-close – droidpl