Android TransactionTooLarge异常

时间:2017-04-23 13:38:39

标签: android transactions runtime-error

刚刚开始在android 24及更高版本中获得以下异常。 我已经查看过旧的相关帖子here,但没有任何具体原因。我已经卡住了几天,因为我没有按照链接答案中的建议使用IPC。在活动和片段之间导航时,我不会将除了一些字符串之外的长度数据放在一起。 但是我使用一个Timer通过处理程序每​​30秒更新一次状态。伙计们,请帮助我。

Exception java.lang.RuntimeException:
android.os.TransactionTooLargeException: data parcel size 540408 bytes
android.app.ActivityThread$StopInfo.run (ActivityThread.java:3888)
android.os.Handler.handleCallback (Handler.java:751)
android.os.Handler.dispatchMessage (Handler.java:95)
android.os.Looper.loop (Looper.java:154)
android.app.ActivityThread.main (ActivityThread.java:6311)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run
(ZygoteInit.java:872)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:762)

Caused by android.os.TransactionTooLargeException: data parcel size   
540408 bytes
android.os.BinderProxy.transactNative (BinderProxy.java)
android.os.BinderProxy.transact (BinderProxy.java:615)
android.app.ActivityManagerProxy.activityStopped       
(ActivityManagerProxy.java:3685)
android.app.ActivityThread$StopInfo.run (ActivityThread.java:3880)
android.os.Handler.handleCallback (Handler.java:751)
android.os.Handler.dispatchMessage (Handler.java:95)
android.os.Looper.loop (Looper.java:154)
android.app.ActivityThread.main (ActivityThread.java:6311)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run   
(ZygoteInit.java:872)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:762)

1 个答案:

答案 0 :(得分:0)

意图,内容提供商,Messenger,电话,振动器等所有系统服务都使用Binder的IPC基础设施提供商。此外,活动生命周期回调也使用此基础设施,1MB是系统中执行的所有活页夹交易的总体限制在特定的时刻。

在您的情况下,可能还有很多其他操作/ Binder事务并行发生,这些事务正在耗尽1MB的事务限制