gpt4 book ai didi

android - 如何在 Firebase JobDispatcher 中设置周期性任务的周期?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:53:23 24 4
gpt4 key购买 nike

我已经阅读了所有可用的官方文档(令人惊讶的是它并不多),对于定期任务我所能得到的就是这段代码

            .setRecurring(true)
// start between 0 and 60 seconds from now
.setTrigger(Trigger.executionWindow(0, 60))

我知道 .setRecurring 使作业成为周期性的,并且 trigger 使它以 60 秒的间隔开始,但是它第二次执行时呢?这是否意味着第二次也会从第一次开始执行 60 秒?

这不可能是真的,因为即使考虑到后台 Activity 的优化以及服务运行的时间比预期晚了一点,编程 60 秒的时间段而作业运行大约 5/10/20 分钟后差别太大了。官方文档说区别是几秒钟,也许几分钟不超过 20 分钟。

基本上,我的问题是这个 .setTrigger(Trigger.executionWindow(0, 60)) 真的意味着周期是 60 秒还是我弄错了?

最佳答案

当它是非周期性的。

.setRecurring(false)
.setTrigger(Trigger.executionWindow(x, y))

此代码将在作业计划的 x 秒和作业计划的 y 秒之间运行我们的作业。

x 被称为 windowStart,这是作业应被视为有资格运行的最早时间(以秒为单位)。从计划作业的时间开始计算(对于新作业)

y 被称为 windowEnd,在理想情况下作业应该运行的最晚时间(以秒为单位)。计算方式与 windowStart 相同。

当它是周期性的

.setRecurring(true)            
.setTrigger(Trigger.executionWindow(x, y))

此代码将在作业被安排的 x 秒和作业被安排的 y 秒之间运行我们的作业。由于这是周期性的,下一次执行将在作业完成后 x 秒安排。

可引用this也回答一下。

关于android - 如何在 Firebase JobDispatcher 中设置周期性任务的周期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42612983/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com