小编Hay*_*ung的帖子

在延迟的持续时间内重复任务

我必须在时间范围内移动进度条,例如在 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}")
}
Run Code Online (Sandbox Code Playgroud)

我预计“总时间”将是 6000,但我得到的值大于 6000 至少 500。

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

有什么我想念的吗?

android kotlin kotlin-coroutines

5
推荐指数
2
解决办法
8078
查看次数

标签 统计

android ×1

kotlin ×1

kotlin-coroutines ×1