动态后台任务Android的最佳实践

时间:2015-06-03 01:48:02

标签: android service timer background scheduled-tasks

我正在创建一个通知应用,它会在用户设置提醒通知后提醒用户。我当前的实现逻辑是:

  1. 创建一个服务,当用户打开他们的应用程序时,该服务开始在后台运行。
  2. 在onCreate()服务方法中,我正在实现一个Timer任务,该任务将在5000ms间隔后重复并调用一个方法,该方法将检查用户设置的所有提醒,并在当前时间设置任何提醒时通知用户。 / LI>
  3. 如果用户关闭手机,我使用广播接收器在Boot_Completed事件上运行服务。
  4. 这个实现工作得很好,我没有遇到任何问题,但我担心的是这是一个好的做法吗?请记住,服务运行和每5秒检查一次将消耗电池。此外,如果用户打开Stamina模式,省电模式或任何此类模式,操作系统将终止我的服务。我能做些什么来优先考虑我的服务而不被杀死。

    如果还有其他更有效的方法来实现这种任务,我想在我的项目中实现它。

    期待提出建议。

    非常赞赏。

2 个答案:

答案 0 :(得分:2)

最佳方法是使用此处提到的警报接收器进行唤醒意图服务

https://github.com/commonsguy/cwac-wakeful

答案 1 :(得分:0)

一切都很好,但使用AlarmManager.setRepeating()作为计时器。即使您的应用程序被杀,意图也会出现。