【问题标题】:TransactionTooLargeExceptionTransactionTooLargeException
【发布时间】:2012-10-29 00:33:40
【问题描述】:

这些简单的代码行给我一个TransactionTooLargeException。在同一个函数中,在另一个条件分支中,我有另一个对话框,效果很好。我完全不知所措。你有什么建议吗?

谢谢

AlertDialog.Builder b = new AlertDialog.Builder(this);              
b.setTitle(R.string.choose_winner);
AlertDialog dialog = b.create();
dialog.show();

这是日志,抱歉我第一次忽略了它。

11-08 19:20:12.455:E/AndroidRuntime(1431):致命异常:主要

11-08 19:20:12.455: E/AndroidRuntime(1431): java.lang.RuntimeException: 添加窗口失败

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.view.ViewRootImpl.setView(ViewRootImpl.java:491)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.view.WindowManagerImpl.addView(WindowManagerImpl.java:301)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.view.WindowManagerImpl.addView(WindowManagerImpl.java:215)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:140)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.view.Window$LocalWindowManager.addView(Window.java:537)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.app.Dialog.show(Dialog.java:278)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 com.sebmag.acquiroid.GameActivity.play(GameActivity.java:442)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 com.sebmag.acquiroid.GameActivity$PlayView.onTouch(GameActivity.java:126)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.view.View.dispatchTouchEvent(View.java:5536)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1912)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1371)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.app.Activity.dispatchTouchEvent(Activity.java:2364)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1860)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.view.View.dispatchPointerEvent(View.java:5721)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:2890)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2466)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.view.ViewRootImpl.processInputEvents(ViewRootImpl.java:845)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2475)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.os.Handler.dispatchMessage(Handler.java:99)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.os.Looper.loop(Looper.java:137)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.app.ActivityThread.main(ActivityThread.java:4575)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 java.lang.reflect.Method.invokeNative(Native Method)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 java.lang.reflect.Method.invoke(Method.java:511)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 dalvik.system.NativeStart.main(Native Method)

11-08 19:20:12.455:E/AndroidRuntime(1431):由以下原因引起: android.os.TransactionTooLargeException

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.os.BinderProxy.transact(本机方法)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.view.IWindowSession$Stub$Proxy.add(IWindowSession.java:516)

11-08 19:20:12.455:E/AndroidRuntime(1431):在 android.view.ViewRootImpl.setView(ViewRootImpl.java:481)

11-08 19:20:12.455: E/AndroidRuntime(1431): ... 33 更多

11-08 19:20:12.650:E/AndroidRuntime(1431):错误报告崩溃

11-08 19:20:12.650: E/AndroidRuntime(1431): android.os.DeadObjectException

11-08 19:20:12.650:E/AndroidRuntime(1431):在 android.os.BinderProxy.transact(本机方法)

11-08 19:20:12.650:E/AndroidRuntime(1431):在 android.app.ActivityManagerProxy.handleApplicationCrash(ActivityManagerNative.java:2867)

11-08 19:20:12.650:E/AndroidRuntime(1431):在 com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:72)

11-08 19:20:12.650:E/AndroidRuntime(1431):在 java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)

11-08 19:20:12.650:E/AndroidRuntime(1431):在 java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)

11-08 19:20:12.650: E/AndroidRuntime(1431): 在 dalvik.system.NativeStart.main(Native Method)

【问题讨论】:

  • 我们能看到日志吗?我觉得有别的事情发生了。
  • 我找到了 stackoverflow.com/questions/11451393/…" 这个,但它似乎并没有太大的关系。这超出了我的经验。
  • 我陷入了无限循环,再次为您的时间感到抱歉。

标签: android


【解决方案1】:

问题不是我想的那样。也就是说,我陷入了无限的while循环。 问题已结束,耻辱 +1。

【讨论】:

    【解决方案2】:

    我可以看到你解决了你的问题 :) 但是让我为其他迷失的灵魂写几行,我几天前也遇到过这个问题。

    原来我的问题是试图在活动之间移动一个大的对象图。传输的数据有 1MB 的限制,现实生活中的限制甚至更小。我通过恢复到良好的旧 java 序列化而不是通过 Parceler 库使用 Parcelable 解决了这个问题。更多信息请参阅blog post

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-15
      • 2019-04-24
      • 2018-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 2020-07-05
      相关资源
      最近更新 更多