2

这些简单的代码行让我获得了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(本机方法)

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): at dalvik.system.NativeStart.main(Native Method)

4

2 回答 2

4

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

于 2012-11-13T15:22:58.310 回答
1

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

事实证明,我的问题是试图在活动之间移动大量对象图。传输的数据有 1MB 的限制,现实生活中的限制甚至更小。我通过恢复到良好的旧 java 序列化而不是通过 Parceler 库使用 Parcelable 解决了这个问题。此博客文章中的更多信息。

于 2015-03-25T01:21:17.390 回答