定时器、TimerTask 和电池消耗

Timer, TimerTask and battery consumption

假设有一组 组提醒,并且每个提醒都以长格式存储应该结束的时间。

从功耗的角度来看,什么更有效:

  1. 为每个提醒创建TimerTask,即使有很多个提醒,并把这些TimerTask 个实例到 Timer 进程以控制它们何时应该关闭。

  2. 一个计划 TimerTask 进程每分钟 运行此提醒列表并进行比较当前时间以毫秒为单位,提醒时间以长格式显示。并在必要时根据提醒显示报警。

乍一看,第二种方法应该会消耗更多电量并更快地耗尽电池电量。

我说得对吗,或者制作许多(100、200 甚至更多)TimerTask 个实例并通过 schedule 或其他相关方法将它们放入 Timer 会耗尽电池电量更快?

您可以使用 AlarmManager class。它比其他方法好得多。

阅读有关 AlarmManager 的官方文档here