Android 如何在科特林进行准确的延迟?
我需要在x秒后调用一些函数 在科特林我该怎么做 我尝试过使用: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 () } 但根据我的测量结果,它有时准确,有时不准确。 我是不是用错了,还是有更好的方法呢?你无法在准确的时间间隔内得到它。您希望允许多少错误?如果函数长时间运行,您可以计算运行所需的时间,然后从
GlobalScope.launch
{
val seconds = 5
val duration = (seconds * 1000).toLong()
delay(duration)
callTheFunction ()
}
但根据我的测量结果,它有时准确,有时不准确。
我是不是用错了,还是有更好的方法呢?你无法在准确的时间间隔内得到它。您希望允许多少错误?如果函数长时间运行,您可以计算运行所需的时间,然后从延迟量中减去该时间。不过,您仍受系统中发生的事情的支配。@Carcigenicate我不需要它精确到毫秒。一秒钟的公差是可以的,但不是5秒、10秒或一些随机的秒数。有可能吗?试试这个,把它放进递归函数调用中。你考虑过了吗?你怎么知道这需要5到10秒?