[英]Best way to execute a thread after a period of time in android
我的应用程序中有一项服务,该服务将可运行文件(在另一个Java文件中)放入线程中并启动它。 一次可以正常工作,但是由于特定时期我希望它可以重复。 我需要一个好的方法来解决这个问题。 我之所以不使用其他问题的答案,是因为我不希望它重复无穷大,也不知道它将重复执行任务多少次。 由于在UI中单击按钮,它只会停止。
我当时正在考虑使用带有睡眠和if语句的循环。 但是我认为这对我的应用程序来说确实是糟糕的设计。 有没有做这种事情的标准方法?
谢谢...
您可以使用某种类似于计时器的处理程序,但我认为这对您的情况更好。
您可以这样初始化它:
Handler delayhandler = new Handler();
设置触发时间(以毫秒为单位):
delayhandler.postDelayed(mUpdateTimeTask, 500);
它称为:
private Runnable mUpdateTimeTask = new Runnable()
{ public void run()
{ // Todo
// This line is necessary for the next call
delayhandler.postDelayed(this, 100);
}
}
您还可以使用以下方法删除下一个通话:
delayhandler.removeCallbacks(mUpdateTimeTask);
使用TimerTask并使其执行您的线程/方法。
http://android.okhelp.cz/timer-simple-timertask-java-android-example/
http://developer.android.com/reference/java/util/TimerTask.html-您可以使用Cancel()方法停止TimerTask的执行。
使用计时器,它将在给定的时间段后运行线程,而要停止时,只需停止计时器或将其设置为无限时间段即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.