Как исправить чрезмерные пробуждения в Android
Недавно я получил отчет о производительности от магазина Google Play (Android Vitals), и отчет приведен ниже
Чрезмерное количество срабатываний Alarm Manager Процент сеансов батареи, в течение которых пользователи испытывали более 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 в моем приложении