gpt4 book ai didi

android - 在一定时间内重复执行一项任务,但有延迟

转载 作者:行者123 更新时间:2023-11-29 02:21:01 26 4
gpt4 key购买 nike

我必须在一个时间范围内移动进度条,例如在 6 秒内。我正在使用协程和“重复”功能。代码执行除了总执行时间不是指定的。下面是我的代码。

val progressJob = Job()
var startTime = 0L
CoroutineScope(Dispatchers.Default + progressJob).launch {
startTime = System.currentTimeMillis()
repeat(1000) {
progressBar.progress += 1
delay(6)
}
Log.d(TAG, "total time= ${System.currentTimeMillis() - startTime}")
}

我预计“总时间”为 6000,但我得到的值比 6000 至少大了 500。

基本上我只是想在一个时间范围内重复递增进度条,并且由于性能问题我没有使用动画。

有什么我遗漏的吗?

最佳答案

我会用这样的方式来做:

withTimeout(1300L) {
repeat(1000) { i ->
println("Blip Blop $i ...")
delay(500L)
}
}

更多例子见官方文档: https://kotlinlang.org/docs/reference/coroutines/cancellation-and-timeouts.html

关于android - 在一定时间内重复执行一项任务,但有延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55606533/

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