log如下:
java.lang.RuntimeException: Adding window failed
at android.view.ViewRootImpl.setView(ViewRootImpl.java:765)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:351)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:93)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3594)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2795)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4621)
at android.app.ActivityThread.-wrap19(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1533)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:203)
at android.app.ActivityThread.main(ActivityThread.java:6251)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1073)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:934)
Caused by: android.os.DeadObjectException: Transaction failed on small parcel; remote process probably died
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(Binder.java:622)
at android.view.IWindowSession$Stub$Proxy.addToDisplay(IWindowSession.java:828)
at android.view.ViewRootImpl.setView(ViewRootImpl.java:753)
... 13 more
在binder传输数据的时候失败了.
01-03 03:00:47.853 917 17569 I am_crash: [25524,0,me.bluemail.mail,949534276,android.os.DeadObjectException,Transaction failed on small parcel; remote process probably died,Binder.java,-2]
...
[135877.432581] (4)[17572:Binder:917_18]binder: 917:17572 to 25524 failed, 25524 no unused fd available(25524:e.bluemail.mail fd leak?), -24
[135877.432609] (4)[17572:Binder:917_18]binder: 917:17572 transaction failed 29201, size 192-8
[135877.432625] (4)[17572:Binder:917_18]binder: send failed reply for transaction 107993648 to 25524:25524
[135877.432661] (4)[17572:Binder:917_18]binder: read put err 29190 to user 00000076c78d1708, thread error 29190:29185
[135877.433652] (4)[25524:e.bluemail.mail]binder: read put err 29201 to user 00000076d7ae2b08, thread error 29201:29185
查看kernel可以知道,no unused fd available表示是由于FD leak导致无法进行binder数据传输,需要 me.bluemail.mail优化下该ap的行为,在关闭或退出该ap的时候即使关闭所占用的文件句柄以免造成系统异常