24

我正在努力寻找 Android 上 TimerTask 函数的文档。我需要使用 TimerTask 每隔一段时间运行一个线程,但不知道如何去做。任何建议或示例将不胜感激。

4

3 回答 3

71

我已经实现了这样的东西,它工作正常:

    private Timer mTimer1;
    private TimerTask mTt1;
    private Handler mTimerHandler = new Handler();

    private void stopTimer(){
        if(mTimer1 != null){
            mTimer1.cancel();
            mTimer1.purge();
        }
    }

    private void startTimer(){
        mTimer1 = new Timer();
        mTt1 = new TimerTask() {
            public void run() {
                mTimerHandler.post(new Runnable() {
                    public void run(){
                        //TODO
                    }
                });
            }
        };

        mTimer1.schedule(mTt1, 1, 5000);
    }
于 2012-04-05T14:08:07.423 回答
38

您使用 a ,当您使用任何-methodsTimer安排 a 时,它会自动为您创建一个新线程。TimerTaskschedule

例子:

Timer t = new Timer();
t.schedule(myTimerTask, 1000L);

这将创建一个 TimermyTimerTask在属于该 Timer 的线程中运行,每秒一次。

于 2012-04-05T13:52:28.093 回答
11

这是计时器任务的完美示例。

Timer timerObj = new Timer();
TimerTask timerTaskObj = new TimerTask() {
    public void run() {
       //perform your action here
    }
};
timerObj.schedule(timerTaskObj, 0, 15000);
于 2016-11-25T06:08:47.157 回答