Android:设备永远挂起(TransactionTooLargeException)

时间:2014-04-19 14:57:03

标签: android

当我打开我的应用程序然后按主页按钮并打开其他应用程序然后返回我的应用程序时,将会发生这种情况。我不能得到任何奇怪的日志或任何断点来看看那里发生了什么。只有Eclipse中的设备窗口显示我这样。     (那些所有黑色标记都是我的应用程序包名称)

error

我不确定它是否与我如何管理片段和活动的saveInstance状态有关,但我可以告诉你我的代码。

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
    super.onSaveInstanceState(savedInstanceState);
    savedInstanceState.putBoolean("isSplashShown", isSplashShown);

}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    if (savedInstanceState != null) {
        isSplashShown = savedInstanceState.getBoolean("isSplashShown");
        this.savedInstanceState = savedInstanceState;
    }

}

修改 经过这么多次尝试后我得到了错误日志:

!!! FAILED BINDER TRANSACTION !!!
Exception in new application when starting activity <myapplication package>/.<my activity>
android.os.TransactionTooLargeException
at android.os.BinderProxy.transact(Native Method)
at android.app.ApplicationThreadProxy.scheduleLaunchActivity(ApplicationThreadNative.java:710)
at com.android.server.am.ActivityStack.realStartActivityLocked(ActivityStack.java:702)
at com.android.server.am.ActivityManagerService.attachApplicationLocked(ActivityManagerService.java:4117)
at com.android.server.am.ActivityManagerService.attachApplication(ActivityManagerService.java:4195)
at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:357)
at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:1633)
at android.os.Binder.execTransact(Binder.java:367)
at dalvik.system.NativeStart.run(Native Method)

1 个答案:

答案 0 :(得分:0)

根据这个link。我刚刚发现我将一个长json字符串(从object转换为json String)到Intent并将其发送到Next Activity。所以我的解决方案是使该对象的类成为Parcelable,然后问题就消失了。