如何重复使用TIMER 避免计时累加

来源:互联网 发布:game.min.js 编辑:程序博客网 时间:2024/05/16 15:37
        /**     * 计时操作   改变界面的倒计时信息     */    private void timerOperation() {    recLen = RECENT_SECOND;    mTimer = new Timer();    timerTask = new TimerTask() {@Overridepublic void run() {// TODO Auto-generated method stubrecLen--;if (recLen >= 0) {Message msg = new Message();msg.what = SECOND_UPDATE;msg.arg1 = recLen;handler.sendMessage(msg);}}};mTimer.schedule(timerTask, PROGRESS_DELAY, PROGRESS_PERIOD);    }
在关闭时使用:
private void closeTimer() {if (timerTask != null) {timerTask.cancel();timerTask = null;}if (mTimer != null) {mTimer.cancel();mTimer = null;}}

不然,会出现计时过快的现象


另外值得一提的是:

如果Timer 或者 timerTask调用了cancel方法,那么不能直接才启用Timer 或者 timerTask了。所以重复使用时,重新new是必要的。

原创粉丝点击