我们在Android应用中使用Firebase Messaging,自上周以来,我们报告了许多来自三星设备的崩溃事件.问题与我们的任何课程无关.我们没有使用AlarmManager等.
这是堆栈跟踪:
1)Parcel.java
Fatal Exception: java.lang.SecurityException: !@Too many alarms (500) registered from pid 13776 uid 10011
at android.os.Parcel.readException(Parcel.java:1540)
at android.os.Parcel.readException(Parcel.java:1493)
at android.app.IAlarmManager$Stub$Proxy.set(IAlarmManager.java:206)
at android.app.AlarmManager.setImpl(AlarmManager.java:428)
at android.app.AlarmManager.set(AlarmManager.java:215)
at com.google.firebase.iid.FirebaseInstanceIdService.zzah(Unknown Source)
at com.google.firebase.iid.FirebaseInstanceIdService.zzag(Unknown Source)
at com.google.firebase.iid.FirebaseInstanceIdService.zzag(Unknown Source)
at com.google.firebase.iid.FirebaseInstanceIdService.zzm(Unknown Source)
at com.google.firebase.iid.zzb$2.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
2)在Binder.java中
Fatal Exception: java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x4000010 (has extras) } in com.google.firebase.iid.FirebaseInstanceIdService$1@12533ba
at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:891)
at android.os.Handler.handleCallback(Handler.java:746)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
Caused by java.lang.RuntimeException: Failure from system
at android.app.ContextImpl.sendBroadcast(ContextImpl.java:772)
at android.content.ContextWrapper.sendBroadcast(ContextWrapper.java:396)
at com.google.firebase.iid.FirebaseInstanceIdService$1.onReceive(Unknown Source)
at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:881)
at android.os.Handler.handleCallback(Handler.java:746)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
Caused by android.os.DeadObjectException
at android.os.BinderProxy.transactNative(Binder.java)
at android.os.BinderProxy.transact(Binder.java:503)
at android.app.ActivityManagerProxy.broadcastIntent(ActivityManagerNative.java:3075)
at android.app.ContextImpl.sendBroadcast(ContextImpl.java:767)
at android.content.ContextWrapper.sendBroadcast(ContextWrapper.java:396)
at com.google.firebase.iid.FirebaseInstanceIdService$1.onReceive(Unknown Source)
at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:881)
at android.os.Handler.handleCallback(Handler.java:746)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
你有类似的问题吗?你知道什么是潜在的问题吗?
我正在使用firebase@9.6.1
最佳答案
好消息!使用last update 10.0,firebase团队解决了三星设备中太多警报的问题,这是补丁说明:
Fixed – An issue that caused extra alarms to be incorrectly set,resulting in crashes with Too Many Alarms in the stack trace on some Samsung devices.
好编程!