Ich habe eine TransactionTooLargeException
. Nicht reproduzierbar. In den Dokumenten steht
Die Binder-Transaktion ist fehlgeschlagen, weil sie zu groß war.
Während eines Remoteprozeduraufrufs werden die Argumente und der Rückgabewert des Aufrufs als Paketobjekte übertragen, die im Binder-Transaktionspuffer gespeichert sind. Wenn die Argumente oder der Rückgabewert zu groß sind, um in den Transaktionspuffer zu passen, schlägt der Aufruf fehl und TransactionTooLargeException wird ausgelöst.
...
Es gibt zwei mögliche Ergebnisse, wenn ein Remoteprozeduraufruf eine TransactionTooLargeException auslöst. Entweder konnte der Client seine Anforderung nicht an den Dienst senden (höchstwahrscheinlich, wenn die Argumente zu groß waren, um in den Transaktionspuffer zu passen), oder der Dienst konnte seine Antwort nicht an den Client zurücksenden (höchstwahrscheinlich, wenn der Rückgabewert war zu groß, um in den Transaktionspuffer zu passen).
...
Irgendwo übergebe oder erhalte ich Argumente, die eine unbekannte Grenze überschreiten. Wo?
Die Stapelverfolgung zeigt nichts Nützliches:
java.lang.RuntimeException: Adding window failed
at android.view.ViewRootImpl.setView(ViewRootImpl.java:548)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:406)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:320)
at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:152)
at android.view.Window$LocalWindowManager.addView(Window.java:557)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2897)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$600(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1262)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:4977)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.os.TransactionTooLargeException
at android.os.BinderProxy.transact(Native Method)
at android.view.IWindowSession$Stub$Proxy.add(IWindowSession.java:569)
at android.view.ViewRootImpl.setView(ViewRootImpl.java:538)
... 16 more
android.os.TransactionTooLargeException
at android.os.BinderProxy.transact(Native Method)
at android.view.IWindowSession$Stub$Proxy.add(IWindowSession.java:569)
at android.view.ViewRootImpl.setView(ViewRootImpl.java:538)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:406)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:320)
at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:152)
at android.view.Window$LocalWindowManager.addView(Window.java:557)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2897)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$600(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1262)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:4977)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
Es scheint mit Ansichten verbunden zu sein? Wie hängt dies mit dem Remoteprozeduraufruf zusammen?
Möglicherweise wichtig: Android-Version: 4.0.3, Gerät: HTC One X.