2017-04-12 9 views
0

私はKotlin/rxJavaのアプリケーションで作業しており、しばらくの間エラーが発生しています。アプリを終了するときに、なぜ私はAndroid Appでandroid.os.TransactionTooLargeExceptionを取得していますか?Kotlin/rxJavaで書かれていますか? (onExit/onPause)?

アプリケーションを終了するたびに、「残念ながらAppNameが停止しました。」というポップアップが表示されます。 java.lang.RuntimeException:android.os.TransactionTooLargeException:

は、私は、コンソールでこのエラーを取得するデータパーセルサイズ896824バイト**enter code here**

私はAPI 23との電話を使用するか、またはエラーがない下げます24と25でエラーが発生し、アプリが終了した後にアプリがクラッシュします。開発者として、もちろんユーザーにとっては、私にとっては迷惑になってきています。

私はいつでもアプリを終了しようとするとエラーが発生します。ブラウザに私を連れて行くリンクをクリックすると、私のAppから連絡先を電話の連絡先リストに追加/送信したり、Gmail、Google +、Bluetoothなどで共有したりすると、エラーが発生します。だから何が起こるかは、これらのすべての問題について、私はアプリを終了する必要がある(ホームボタンを押す)か、アプリケーションから他のアプリケーションを開く(連絡先、Gmailなど)、アプリケーションがクラッシュすることです。

また、私のアプリから電話連絡先リストに人を追加すると、すべての情報が送信され、その人を追加することができます。

誰にもこの幸福の原因を知っている人はいますか?もしそれが必要であれば、私に詳細を尋ねてください。私はこのバグをしばらく受けていて、とても刺激的です。

全体のエラー:

04-12 08:46:18.128 23287-23287/com.****.***** E/AndroidRuntime: FATAL EXCEPTION: main 
                     Process: com.******.*******, PID: 23287 
                     java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 896824 bytes 
                      at android.app.ActivityThread$StopInfo.run(ActivityThread.java:3781) 
                      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:6119) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 
                      Caused by: android.os.TransactionTooLargeException: data parcel size 896824 bytes 
                      at android.os.BinderProxy.transactNative(Native Method) 
                      at android.os.BinderProxy.transact(Binder.java:615) 
                      at android.app.ActivityManagerProxy.activityStopped(ActivityManagerNative.java:3636) 
                      at android.app.ActivityThread$StopInfo.run(ActivityThread.java:3773) 
                      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:6119)  
                      at java.lang.reflect.Method.invoke(Native Method)  
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)  
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)  
+0

[this](http://stackoverflow.com/questions/39098590/android-os-transactiontoolargeexception-on-nougat)をチェックしましたか? – Piyush

+1

[TransactionTooLargeExceptionについて何をするか]の複製があります(http://stackoverflow.com/questions/11451393/what-to-do-on-transactiontoolargeexception) –

+0

私は@Piyushをチェックします! –

答えて

0

活動のsavedInstanceStateバンドルが大きすぎる場合に発生します。 onPauseが呼び出されたときに保持されているオブジェクトを確認する必要があります。私は、ビットマップを扱っていたとき、まったく同じ問題を抱えていました。 Androidの新しいバージョンでは実際にはこれが問題に過ぎないと思うのです

+0

True、以前のバージョンのAndroidでは問題は常に存在していましたが、完全に詳細には決まっていませんでしたが、Android 6.0の下では、既に使用中のアドレスや面白いもののような例外が発生します – wax911