IntervalTimer
java.lang.Object
|—ohos.utils.IntervalTimer
public abstract class IntervalTimer
extends Object
为任务执行提供一个计时器,该计时器持续一段时间并定期重复。
示例代码:
new IntervalTimer(60000, 3000) {
@Override
public void onInterval(long remain) {
// This method will be called at the 3000th millisecond and repeatedly called every 3000 milliseconds.
}
@Override
public void onFinish() {
// This method will be called at the 60000th millisecond.
}
}.schedule();
注意:IntervalTimer#onInterval(long) 是同步的。 如果此方法的执行时间长于间隔,则下一次调用将等待上一次回调完成。 例如,如果间隔为 3000 毫秒,并且 IntervalTimer#onInterval(long) 回调持续 4000 毫秒,则第一次调用在第 3000 毫秒,下一次调用在第 9000 毫秒。
构造函数摘要
构造函数 | 描述 |
---|---|
IntervalTimer(long duration, long interval) | 创建具有给定工作持续时间和间隔的 IntervalTimer。 |
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
void | cancel() | 取消间隔计时器。 |
abstract void | onFinish() | 当间隔计时器的总工作持续时间结束时调用。 |
abstract void | onInterval(long remain) | 每次间隔开始时调用。 |
void | schedule() | 启动间隔计时器。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造函数详细信息
IntervalTimer
public IntervalTimer(long duration, long interval)
创建具有给定工作持续时间和间隔的 IntervalTimer。
参数:
参数名称 | 参数描述 |
---|---|
duration | 间隔定时器的工作时长,单位毫秒,不能小于interval。 当工作时间结束时,将调用 IntervalTimer#onFinish() 通知间隔计时器已关闭。 |
interval | 间隔时间,单位毫秒,取值范围为(1,duration]。每开始一个间隔,就会调用IntervalTimer#onInterval(long)来通知间隔定时器的剩余工作时间。 |
方法详情
schedule
public final void schedule()
启动间隔计时器。
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果间隔小于或等于 0,或大于工作持续时间,则引发此异常。 |
cancel
public final void cancel()
取消间隔计时器。
onInterval
public abstract void onInterval(long remain)
每次间隔开始时调用。
参数:
参数名称 | 参数描述 |
---|---|
remain | 指示间隔定时器的剩余工作时间。 由于精度,该值可能重复。 |
onFinish
public abstract void onFinish()
当间隔计时器的总工作持续时间结束时调用。