RTC唤醒系统的特征是
从kernel_log中可以查找到 "wake up by RTC"
RTC唤醒系统的原因是
上层的APK
查找的方法:
从main_log中查找关键字"Alarm triggering"
然后看相对应的log后面表明是type 0 还是type 2,
只有type 0或者type 2 的对应的APK才是能唤醒系统的APK
比如:
AlarmManager: Alarm triggering: Alarm{41c36640 type 2 com.android.providers.calendar}
从这一行您就可以看出,com.android.providers.canlendar就是能唤醒系统的APK
例外:
目前com.android.phone这个APK也是type 2的APK,
在存在数据链接的情况下,每隔6分钟就会唤醒系统起来检查是否当前的数据链接有问题,并及时做receovery动作
所以在查找RTC唤醒源的时候,这个APK需要排除在外,
这个APK是google default的机制
请您在提功耗相关的问题之前,
切记,请自行将RTC唤醒这部分分析,并将有关的APK都去掉以后再行测试,
这部分唤醒会增加系统的平均功耗,
有关这些第三方APK唤醒的问题我司不予cover。