目前我有一个应用程序,它设置在两个部分中,活动部分将任务和任务完成时间添加到数据库中,然后我有一个在后台运行的服务,轮询数据库并在达到任务完成时间时处理任务。
目前我的服务正在使用扩展线程的私有内部类,并且我正在使用 thread.sleep 重新运行任务处理方法。这个内部类是从服务类中的 onStartCommand() 调用的。thread.sleep 设置为 15 分钟,或者如果需要在此之前处理任务,它将休眠直到需要处理该任务的时间。此时一切正常,但是我遇到了一些问题。
该服务需要在特定时间运行,这些时间总是根据需要完成任务的时间而变化,即使手机进入睡眠状态也是如此。
我需要确保对电池的影响尽可能小。
现在通过研究,我发现通过使用警报管理器,我只能在需要时启动此服务,这很好,但是因为我会根据必须处理某些任务的时间不断改变时间间隔,我不是肯定这是正确的做法。
我还阅读了有关唤醒锁的信息,除非我绝对需要,否则我真的不想使用。
我或多或少地在寻找关于我应该如何在我的应用程序中构建服务以及它如何处理这些任务的建议。