gpt4 book ai didi

android - 退出应用程序时,为什么在用Kotlin/rxJava编写的Android应用程序中出现android.os.TransactionTooLargeException? (onExit/onPause)?

转载 作者:行者123 更新时间:2023-12-03 17:11:00 25 4
gpt4 key购买 nike

我正在使用Kotlin / rxJava开发一个应用程序,并且一段时间以来我一直在努力解决错误。

每次退出该应用程序时,都会弹出一个窗口,其中显示:“很遗憾,AppName已停止。”。

我在控制台中收到此错误:
java.lang.RuntimeException:android.os.TransactionTooLargeException:数据包大小896824字节 **enter code here**
当我使用API​​ 23或更低版本的手机时,不会发生此错误,但是使用24和25时,会出现错误,并且退出应用程序后应用程序“崩溃”。对于我作为开发人员,当然对于用户而言,这确实令人讨厌。

每当我尝试以任何方式退出应用程序时,都会发生该错误。如果我单击将我带到浏览器的链接,则将我的应用程序中的联系人添加/发送到电话上的联系人列表,或者通过Gmail,Google +,蓝牙等进行共享。会发生错误。所以发生的事情是,在所有这些问题上,我必须退出应用程序(按Home键)或从应用程序中打开另一个应用程序(联系人,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) 

最佳答案

这是由于Activity的savedInstanceState bundle 包太大而引起的。您需要检查在调用onPause时保留了哪些对象。在处理位图时,我遇到了完全相同的问题。我相信这实际上只是新版本Android上的一个问题,因为它实际上现在抛出异常,而不仅仅是抑制它。

关于android - 退出应用程序时,为什么在用Kotlin/rxJava编写的Android应用程序中出现android.os.TransactionTooLargeException? (onExit/onPause)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43364135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com