我有一个使用CountDownTimerinside a的应用程序BraodcastReceiver。CountDownTimer可以持续 1 小时以上。计时器在通知区域显示倒计时(秒间隔)。
一些用户报告说,该应用程序似乎在长时间倒计时。CountDownTimer 由小部件触发。
有谁知道CountDownTimer操作系统是否可以停止和回收a?
另一种方法是在运行服务的 1 秒间隔设置重复警报。有更好的选择吗?
我有一个使用CountDownTimerinside a的应用程序BraodcastReceiver。CountDownTimer可以持续 1 小时以上。计时器在通知区域显示倒计时(秒间隔)。
一些用户报告说,该应用程序似乎在长时间倒计时。CountDownTimer 由小部件触发。
有谁知道CountDownTimer操作系统是否可以停止和回收a?
另一种方法是在运行服务的 1 秒间隔设置重复警报。有更好的选择吗?
有谁知道操作系统是否可以停止和回收 CountDownTimer?
你的过程将是。
另一种方法是在运行服务的 1 秒间隔设置重复警报。
如果您的意思是“重复警报”,那在任何实际意义上都不是一种选择AlarmManager。AlarmManager不是为每一秒的事件而设计的。
有更好的选择吗?
这是证明前台服务合理的少数情况之一。既然你有一个Notification反正,而且你的AlarmManager方法无论如何都会让服务保持不变,你也可以放弃AlarmManager和使用startForeground()来保持服务。更新Notification您正在使用的startForeground(),并用于ScheduledExecutorService在后台线程上每秒获得控制权。
倒计时完成后,调用stopForeground()并stopSelf()摆脱这一切。