以前,在桌面环境下,实施股票价格警报系统,这就是我的工作。
Thread
。当涉及到移动环境时,电源效率使用是一个主要考虑因素。即使我使用后退按钮“关闭”应用程序,库存警报机制也应该继续运行。
我想出了两种方法。
Service
。BroadcastReceiver
。AlarmManager
onReceive
将在下一个N期间被触发。onReceive
返回之前,请在BroadcastReceiver
中为下一个N期安装另一个AlarmManager
。我在想,哪种方式更好?除了两种方式之外还有更好的方法吗?在我看来AlarmManager
更好,因为我们不需要长时间睡觉,这似乎是浪费资源?
答案 0 :(得分:1)
使用AlarmManager
触发BroadcastReceiver
,然后让BroadcastReceiver
开始IntentService
。
BroadcastReceiver
不应该执行任何长时间运行的任务,但它可以启动Service
来完成工作。 IntentService
(扩展Service
)将在工作线程上工作,然后自行终止。
Extending the IntentService class
换句话说,您可以将两种方式结合使用,但不会持续运行Service
。