Mam TransactionTooLargeException
. Niereprodukowalny. W dokumentacji jest napisane
Transakcja Binder nie powiodła się, ponieważ była zbyt duża.
Podczas zdalnego wywołania procedury argumenty i wartość zwracana wywołania są przesyłane jako obiekty Parcel przechowywane w buforze transakcji Binder. Jeśli argumenty lub wartość zwracana są zbyt duże, aby zmieścić się w buforze transakcji, wywołanie zakończy się niepowodzeniem i zostanie zgłoszony wyjątek TransactionTooLargeException.
...
Istnieją dwa możliwe wyniki, gdy zdalne wywołanie procedury zgłosi wyjątek TransactionTooLargeException. Albo klient nie był w stanie wysłać swojego żądania do usługi (najprawdopodobniej, jeśli argumenty były zbyt duże, aby zmieściły się w buforze transakcji), lub usługa nie była w stanie odesłać swojej odpowiedzi z powrotem do klienta (najprawdopodobniej, jeśli wartość zwracana to zbyt duży, aby zmieścił się w buforze transakcji).
...
Więc gdzieś przekazuję lub odbieram argumenty przekraczające nieznany limit. Gdzie?
Stacktrace nie pokazuje nic użytecznego:
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)
Wydaje się, że jest to związane z widokami? Jak to się ma do zdalnego wywoływania procedur?
Może ważne: wersja Android: 4.0.3, urządzenie: HTC One X