android 任务时间设置,Android 与时间相关的任务

倒计时任务

// android.os.CountDownTimer

public abstract class CountDownTimer {

/**

* @param millisInFuture 倒计时启动(start)之后,过多长时间结束(单位毫秒)

* @param countDownInterval onTick方法调用频率(单位毫秒)

*/

public CountDownTimer(long millisInFuture, long countDownInterval) {...}

/**

* 启动倒计时

*/

public synchronized final CountDownTimer start() {...}

/**

* 取消倒计时

*/

public synchronized final void cancel() {...}

/**

* 按照设置的时间间隔重复调用

* @param millisUntilFinished 剩余时间

*/

public abstract void onTick(long millisUntilFinished);

/**

* 倒计时结束时调用

*/

public abstract void onFinish();

}

使用CountDownTimer时需要实例化一个子类,并实现onTick、onFinish方法。调用start方法开启倒计时,cancel方法取消倒计时。

定时任务

传统的Java库提供了Timer(java.util.Timer)用于执行定时任务。

// java.util.Timer

public class Timer {

/**

* 在指定的时间之后执行任务。

*

* @param task 要执行的任务。

* @param delay 延时时间(单位毫秒)。

*/

public void schedule(TimerTask task, long delay) {...}

}

实例化一个Timer对象与一个TimerTask(java.util.TimerTask)对象,使用Timer.schedule方法将Task放入Timer的任务队列中即可自动执行。

Timer内维护了一个线程用于执行任务,可以把Timer看做一个特殊的单线程池。

使用TimerTask的cancel方法可以停止指定的任务。使用Timer的cancel会取消所有的任务,同时退出线程。

定时任务和倒计时任务类似,只是一个由Android SDK提供,一个由Java SDK提供。另外CountDownTimer要简单一些,而Timer则提供了更多的功能。

循环任务

上文的Timer类还提供了执行循环任务的方法:

// java.util.Timer

public class Timer {

/**

* 在指定的时间之后执行任务。

*

* @param task 要执行的任务。

* @param delay 延时时间(单位毫秒)。

* @param period 循环任务的循环时间间隔(单位毫秒)。

*/

public void schedule(TimerTask task, long delay, long period) {...}

}

还是那个schedule方法,只不过添加了一个period参数,这个参数用于指定循环任务的循环间隔。当这个值为0的时候,表示任务只执行一次。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值