我正在使用Kotlin / rxJava中的应用程序,我一直在努力解决错误。
每次退出应用程序时,我都会弹出一个弹出窗口:“不幸的是,AppName已经停止了。”
我在控制台中收到此错误:
java.lang.RuntimeException:android.os.TransactionTooLargeException:数据包大小896824字节 **enter code here**
当我使用API为23或更低的手机时,错误不会发生,但是24和25我得到错误,应用程序在我退出应用程序后“崩溃”。对于我作为开发人员以及当然对用户而言,它变得非常烦人。
每当我尝试以任何方式退出应用程序时都会发生错误。如果我点击链接将我带到浏览器,请将我的应用程序中的联系人添加/发送到手机上的联系人列表或通过Gmail,Google +,蓝牙等共享,从而发生错误。所以会发生的是,在所有这些问题上我必须退出应用程序(按下主页按钮)或从应用程序打开另一个应用程序(联系人,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 :(得分:0)
这是在Activity的savedInstanceState包太大时引起的。调用onPause时,需要检查保留的对象。当我处理Bitmaps时,我遇到了同样的问题。我相信这实际上只是新版Android上的一个问题,因为它实际上现在抛出一个异常,而不是仅仅抑制它。