我想实现一项服务,其工作是定期从Internet获取更新。我知道有几种方法可以达到这个目的。我将列出其中2个。请告诉我什么更有效,实际上哪种方式更为常见。在此先感谢Android - 定期服务的最佳实践
1.在一个单独的线程内部实现一个无限的while(true)循环,然后在服务的onStartCommand
中运行此线程。伪代码:
class Updater extends Service {
...
public int onStartCommand(Intent intent, int flags, int startId) {
new Thread(new Runnable() {
@Override
public void run() {
while (true){
// fetching update...
Thread.sleep(FOR_A_WHILE);
}
}
}).start();
}
...
}
2.Schedule AlarmManager
定期触发IntentService
其获取更新
可能的重复[在后台定期有一个Android应用程序轮询的最佳方式](http://stackoverflow.com/questions/6052426/best-way-to-have-an-android-app- poll-periodic-in-the-background- – ntv1000