阅读(1901) (0)

鸿蒙OS IntervalTimer

2022-08-16 15:14:34 更新

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()

当间隔计时器的总工作持续时间结束时调用。