重复执行任务的计时器对象:何时调用cancel()

时间:2014-02-21 09:37:24

标签: android android-fragments timer

我将使用Timer对象定期执行AsyncTask,并且该对象存在于Fragment中。 Api声称

  

当不再需要计时器时,用户应该调用cancel()

这意味着当我破坏创建它的Fragment时,Timer objec也继续他的生命,所以当Fragment被破坏时我应该调用显式取消?

1 个答案:

答案 0 :(得分:4)

您应该使用onDestroy()方法取消计时器,如下所示:

@Override
public void onDestroy() {
    if(timer != null && isTimerRunning) {
           timer.cancel(); // for CountDownTimer
           timer = null;
    }
    super.onDestroy();
}