gpt4 book ai didi

java - Android Timer 时间表与 scheduleAtFixedRate

转载 作者:IT老高 更新时间:2023-10-28 20:44:42 24 4
gpt4 key购买 nike

我正在编写一个每 10 分钟录制一次音频的 Android 应用程序。我正在使用计时器来做到这一点。但是 schedule 和 scheduleAtFixedRate 有什么区别呢?使用其中一种是否有任何性能优势?

最佳答案

this non-Android documentation 可以很好地解释差异。 :

固定速率计时器 (scheduleAtFixedRate()) 基于开始时间(因此每次迭代将在 startTime + iterationNumber * delayTime 执行)。

In fixed-rate execution, each execution is scheduled relative to the scheduled execution time of the initial execution. If an execution is delayed for any reason (such as garbage collection or other background activity), two or more executions will occur in rapid succession to "catch up."

固定延迟计时器(schedule())基于上一次执行(因此每次迭代将在 lastExecutionTime + delayTime 处执行)。

In fixed-delay execution, each execution is scheduled relative to the actual execution time of the previous execution. If an execution is delayed for any reason (such as garbage collection or other background activity), subsequent executions will be delayed as well.

除此之外,没有任何区别。您也不会发现显着的性能差异。

如果您在想要与其他东西保持同步的情况下使用它,则需要使用 scheduleAtFixedRate()schedule() 的延迟可能会漂移并引入错误。

关于java - Android Timer 时间表与 scheduleAtFixedRate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12684604/

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