Ожидание, потому что входной канал окна касания заполнен - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть программа с плавающим окном для Android, которая автоматически получает ANR через 5-10 минут после показа.Ниже приведены журналы trace.txt.Это произошло на моем устройстве Android 8.1, такой проблемы нет на другом устройстве 5.0.Может кто-нибудь мне помочь?Буду очень благодарна.

Cmd line: system_server
Build fingerprint: 'OnePlus/OnePlus5T/OnePlus5T:8.1.0/OPM1.171019.011/1809102245:user/release-keys'
ABI: 'arm64'
Build type: optimized
Zygote loaded classes=5320 post zygote classes=5413
Intern table: 57652 strong; 9079 weak
JNI: CheckJNI is off; globals=6305 (plus 411 weak)

"main" prio=5 tid=1 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x7374fef0 self=0x7488cc3a00
  | sysTid=1239 nice=-2 cgrp=default sched=0/0 handle=0x750d92c9a8
  | state=S schedstat=( 403859951859 191906892121 1013674 ) utm=30078 stm=10307 core=6 HZ=100
  | stack=0x7fc96e5000-0x7fc96e7000 stackSize=8MB
  | held mutexes=
  kernel: (couldn't read /proc/self/task/1239/stack)
  native: #00 pc 000000000006a420  /system/lib64/libc.so (__epoll_pwait+8)
  native: #01 pc 000000000001fa64  /system/lib64/libc.so (epoll_pwait+52)
  native: #02 pc 0000000000015d08  /system/lib64/libutils.so (android::Looper::pollInner(int)+144)
  native: #03 pc 0000000000015bf0  /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+108)
  native: #04 pc 00000000001118f0  /system/lib64/libandroid_runtime.so (???)
  native: #05 pc 00000000001eadac  /system/framework/arm64/boot-framework.oat (Java_android_os_MessageQueue_nativePollOnce__JI+140)
  at android.os.MessageQueue.nativePollOnce(Native method)
  at android.os.MessageQueue.next(MessageQueue.java:325)
  at android.os.Looper.loop(Looper.java:142)
  at com.android.server.SystemServer.run(SystemServer.java:442)
  at com.android.server.SystemServer.main(SystemServer.java:293)
  at java.lang.reflect.Method.invoke(Native method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:482)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:787)

"ReferenceQueueDaemon" daemon prio=5 tid=3 Waiting
  | group="system" sCount=1 dsCount=0 flags=1 obj=0x130c1d38 self=0x7488cc4400
  | sysTid=1245 nice=4 cgrp=default sched=0/0 handle=0x74801ff4f0
  | state=S schedstat=( 4187147631 731403161 4432 ) utm=364 stm=54 core=5 HZ=100
  | stack=0x74800fd000-0x74800ff000 stackSize=1037KB
  | held mutexes=
  at java.lang.Object.wait(Native method)
  - waiting on <0x0ab219f9> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
  at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:186)
  - locked <0x0ab219f9> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
  at java.lang.Daemons$Daemon.run(Daemons.java:111)
  at java.lang.Thread.run(Thread.java:764)
...