如何更改android计时器周期?

时间:2014-09-02 13:14:48

标签: java android timer period

我正在编写简单的游戏,其中一些动作必须在此过程中加速。问题是如何改变计时器的周期?

    timer = new Timer();
    timerTask = new TimerTask() {
        @Override
        public void run() {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    //
                    // I need to change timer's period here
                    //
                }
            });
        }
    };
    timer.schedule(timerTask, 0, period);

很高兴听到任何建议。

1 个答案:

答案 0 :(得分:0)

我假设你在TimerTask的run()方法中执行一些逻辑。

我认为更简单的方法是使用Handler。这可能更适合Android:

private final Handler mHandler = new Handler();

private final Runnable mTask = new Runnable() {
    @Override
    public void run() {
        // Do your logic.
        // Now post again.
        mHandler.postDelayed(mTask, /* choose a new delay period */);
    }
};    

public void init() {
    delay = 1000L; // 1 second.
    mHandler.postDelayed(mTask, delay);
}