[DESCRIPTION]
连续操作手机,做WFDconnect和disconnect 的动作,手机会概率发生没有反应以及重
启的问题。
从log 发生来看,WindowManager 这边会卡在RemoteDisplay.nativeDispose()。具体
的CallStack 如下。
"WindowManager" prio=5 tid=12 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x420f6530 self=0x5ce662a8
| sysTid=710 nice=-4 sched=0/0 cgrp=apps handle=1558603520
| state=S schedstat=( 11487599370 9157963355 38440 ) utm=877 stm=271
core=2
#00 pc 000247e8 /system/lib/libc.so (__ioctl+8)
#01 pc 00038248 /system/lib/libc.so (ioctl+28)
#02 pc 0001d3a9 /system/lib/libbinder.so
(android::IPCThreADState::talkWithDriver(bool)+140)
#03 pc 0001d8c3 /system/lib/libbinder.so
(android::IPCThreadState::waitForResponse(android:
arcel*, int*)+42)
#04 pc 0001DACb /system/lib/libbinder.so
(android::IPCThreadState::transact(int, unsigned int, android::Parcel
const&, android::Parcel*, unsigned int)+118)
#05 pc 00019797 /system/lib/libbinder.so
(android::BpBinder::transact(unsigned int, android::Parcel const&,
android::Parcel*, unsigned int)+36)
#06 pc 00064b35 /system/lib/libmedia.so
#07 pc 00088863 /system/lib/libandroid_runtime.so
#08 pc 0001e74c /system/lib/libdvm.so (dvmPlatformInvoke+112)
#09 pc 0004fa91 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int
const*, JValue*, Method const*, Thread*)+484)
#10 pc 00027b28 /system/lib/libdvm.so
#11 pc 0002f100 /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
#12 pc 0002c5e4 /system/lib/libdvm.so (dvmInterpret(Thread*, Method
const*, JValue*)+188)
#13 pc 00062e6d /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method
const*, Object*, bool, JValue*, std::__va_list)+340)
#14 pc 00062e91 /system/lib/libdvm.so (dvmCallMethod(Thread*, Method
const*, Object*, JValue*, ...)+20)
#15 pc 000574a5 /system/lib/libdvm.so
#16 pc 0000d600 /system/lib/libc.so (__thread_entry+72)
at android.media.RemoteDisplay.nativeDispose(Native Method)
at android.media.RemoteDisplay.dispose(RemoteDisplay.java:137)
at android.media.RemoteDisplay.dispose(RemoteDisplay.java:113)
at
com.android.server.display.WifiDisplayController.updateConnection(WifiDisp
layController.java:1042)
at
com.android.server.display.WifiDisplayController.disconnect(WifiDisplayCon
troller.java:1005)
at
com.android.server.display.WifiDisplayController.requestDisconnect(WifiDis
playController.java:608)
at
com.android.server.display.WifiDisplayAdapter$7.run(WifiDisplayAdapter.jav
a:247)
at android.os.Handler.handleCallback(Handler.java:808)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:193)
at android.os.HandlerThread.run(HandlerThread.java:61)
来源:一牛网论坛