我有一个正在设置的安卓alarmManager和一个broadcastReceiver,每当应用程序触发onResume时,我都会强制设置一个新的闹钟。
因此,我想知道最佳实践和良好的资源管理,我是否应该删除第一个警报(如果它没有触发),然后我重置一个新的警报?
如果警报没有触发,那么每次用户重新打开应用程序时,即使警报是在相同的时间内,它是否会造成更多的资源使用?
发布于 2014-12-05 01:43:29
是的,你应该在合适的时候取消它。
否则,我怀疑你会有很多浪费的周期。例如,App在时间T打开。为T‘安排一个警报。接下来,用户在T‘之前X秒的某个时间再次打开应用程序。然后,您将安排一个可能在另一个时间T'‘的警报。无论如何,你都会在X秒内收到警报。如果你忽略它,你只是在浪费电池,如果手机必须唤醒才能发送警报。
发布于 2014-12-05 01:43:34
如果您为您的告警创建了相同的PendingIntent,则当您再次设置该告警时,上一次设置将自动取消。
参见AlarmManager.set(),PendingIntent。
https://stackoverflow.com/questions/27300424
复制相似问题