我使用FCM (Firebase )通过topics向客户端发送数据消息。
最近,我看到了这种错误/崩溃的罕见现象。
完整日志:
Fatal Exception: java.lang.RuntimeException: WakeLock under-locked wake:com.google.firebase.messaging
at android.os.PowerManager$WakeLock.release(PowerManager.java:1619)
at android.os.PowerManager$WakeLock.release(PowerManager.java:1589)
at android.os.PowerManager$WakeLock$1.run(PowerManager.java:1484)
at android.os.Handler.handleCallback(Handler.java:808)
at android.os.Handler.dispatchMessage(Handler.java:101)
at android.os.Looper.loop(Looper.java:166)
at android.app.ActivityThread.main(ActivityThread.java:7529)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)SideNode:它似乎只发生在华威设备上,配备了Android 8。
client :客户机将接收这些数据消息,缠绕数据部分,执行快速的API调用,并最终向用户显示通知。
这通常是一种魅力,但现在我看到了那些奇怪的撞车。
有人知道这里发生了什么吗?
在Additionally源代码中,我可以看到如果释放了一个唤醒锁,这可能会被抛出,尽管已经没有锁了。我想这就是为什么它被称为“锁”的原因。
发布于 2020-04-28 08:49:38
根据Firebase changelog Cloud消息传递版本20.1.4和20.1.5是导致此缺陷的原因,您需要升级到20.1.6:
https://stackoverflow.com/questions/61252111
复制相似问题