Java 使循环等待5分钟,然后再次执行
因此,我正在编写一个Android应用程序,希望有一个功能,每分钟左右检查一次位置数据(尚未决定多久检查一次)。 我知道我可以创建一个线程并让它休眠,但我不太喜欢这个选项,因为我必须为一个函数创建线程,然后锁定它,这样它就只能被那一个线程使用。 我想到的另一个选择是只使用一个无限循环来检查时间是否已过,但这会引发更严重的问题Java 使循环等待5分钟,然后再次执行,java,android,google-maps,sleep,Java,Android,Google Maps,Sleep,因此,我正在编写一个Android应用程序,希望有一个功能,每分钟左右检查一次位置数据(尚未决定多久检查一次)。 我知道我可以创建一个线程并让它休眠,但我不太喜欢这个选项,因为我必须为一个函数创建线程,然后锁定它,这样它就只能被那一个线程使用。 我想到的另一个选择是只使用一个无限循环来检查时间是否已过,但这会引发更严重的问题 因此,我的问题是,有没有更好的方法使循环在再次执行之前等待指定的时间段?您可以使用postDelayed(Runnable,long)来执行此操作。使用: 回答你的问题,不
因此,我的问题是,有没有更好的方法使循环在再次执行之前等待指定的时间段?您可以使用
postDelayed(Runnable,long)
来执行此操作。使用:
回答你的问题,不是真的。然而,安卓平台是为支持这类事情而设计的。对服务和计时器做一些研究。谢谢,这正是我想要的
final Handler handler = new Handler();
final long delay = 5 * 60 * 1000;
void executeSomething(){
handler.postDelayed(new Runnable(){
public void run(){
// do your work
if (continueToExecute){
executeSoemthing();
}
}
}, delay);
}