最近我收到了Google Play商店(Android Vitals)的效果报告,报告如下
警报管理器唤醒过多 电池会话的百分比,在此期间用户每小时经历10次以上的唤醒。电池会话是设备的两次完全充电之间的时段。仅在设备关闭充电器时才会收集数据。
https://developer.android.com/topic/performance/vitals/wakeup.html
我尝试了上述想法,但我没有弄清楚如何修复过度唤醒
我的代码如下:
public void registerAlarm()
{
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Calendar alarmTime = Calendar.getInstance();
PendingIntent poperation = PendingIntent.getService(this, 0, getIntentForNotification(this), 0);
alarmManager.cancel(poperation);
int currentapiVersion = android.os.Build.VERSION.SDK_INT;
if (currentapiVersion < android.os.Build.VERSION_CODES.KITKAT) {
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, alarmTime.getTimeInMillis(), 1 * 60 * 60 * 1000, poperation);
} else {
alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, alarmTime.getTimeInMillis(), 1 * 60 * 60 * 1000, poperation);
}
}
注意:我在我的应用程序中使用WAKE_LOCK权限