我的应用程序将每 10 分钟访问一次网络服务以访问数据(即使应用程序不在前台)。最好的方法是什么?
首先我需要在单独的线程中启动我的服务吗? 以及如何让它每 10 分钟从服务器获取更新一次?有些人说 handler.postdelayed 而有些人使用 Alarm Manager。哪个更好,我们有一些例子吗。
最佳答案
如果更新将在您的应用程序运行时发生,您可以使用计时器,如其他答案中所建议的,或更新的 ScheduledThreadPoolExecutor
.
如果您的应用程序即使在未运行时也会更新,您应该使用 AlarmManager
:
The Alarm Manager is intended for cases where you want to have your application code run at a specific time, even if your application is not currently running.
请注意,如果您计划在关闭应用程序时进行更新,则每十分钟一次的频率非常高,因此可能有点太耗电了。
关于java - 在单独的线程中运行服务并每 10 分钟唤醒一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8939734/