Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在科特林进行准确的延迟?_Android_Kotlin_Delay_Delayed Execution - Fatal编程技术网

Android 如何在科特林进行准确的延迟?

Android 如何在科特林进行准确的延迟?,android,kotlin,delay,delayed-execution,Android,Kotlin,Delay,Delayed Execution,我需要在x秒后调用一些函数 在科特林我该怎么做 我尝试过使用: GlobalScope.launch { val seconds = 5 val duration = (seconds * 1000).toLong() delay(duration) callTheFunction () } 但根据我的测量结果,它有时准确,有时不准确。 我是不是用错了,还是有更好的方法呢?你无法在准确的时间间隔内得到它。您希望允许多少错误?如果函数长时间运行,您可以计算运行所需的时间,然后从

我需要在x秒后调用一些函数

在科特林我该怎么做

我尝试过使用:

GlobalScope.launch 
{
  val seconds = 5
  val duration = (seconds * 1000).toLong()
  delay(duration)
  callTheFunction ()
}
但根据我的测量结果,它有时准确,有时不准确。
我是不是用错了,还是有更好的方法呢?

你无法在准确的时间间隔内得到它。您希望允许多少错误?如果函数长时间运行,您可以计算运行所需的时间,然后从延迟量中减去该时间。不过,您仍受系统中发生的事情的支配。@Carcigenicate我不需要它精确到毫秒。一秒钟的公差是可以的,但不是5秒、10秒或一些随机的秒数。有可能吗?试试这个,把它放进递归函数调用中。你考虑过了吗?你怎么知道这需要5到10秒?