[英]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.