簡體   English   中英

一段時間后在android中執行線程的最佳方法

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM