Open wosshzhb opened 5 years ago
看看 receiver 处理函数为什么会耗时那么久
看看 receiver 处理函数为什么会耗时那么久
onReceive内部函数也是没改过,我看里面的实现是遍历了下alarm_waiting_set,如果找到相应的数据,就jni到c层,构造一个消息抛到c层消息队列去处理了
必现吗? 加点 logcat 看 onReceive 耗时多久
必现吗? 加点 logcat 看 onReceive 耗时多久
倒不是必现,但是出现的几率比较大。跟这个alarm Action太频繁有关系吗?我感觉mars里面好多地方都用到了alarm
应该关系不大,结合 xlog 看看 mars 消息队列是否有可能被堵死了
发现在Android机子上会出现alarm广播的ANR
01-04 21:45:06.036 471 526 W BroadcastQueue: Timeout of broadcast BroadcastRecord{da7c670 u0 ALARM_ACTION(1540)} - receiver=android.os.BinderProxy@9b3f640, started 60001ms ago 01-04 21:45:06.036 471 526 W BroadcastQueue: Receiver during timeout: BroadcastFilter{54e96be u0 ReceiverList{c278979 1540
OnAlarm逻辑代码没改动。
这个要怎么解?