Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.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
Java System.currentTimeInMillis()在Android中未给出准确的值_Java_Android - Fatal编程技术网

Java System.currentTimeInMillis()在Android中未给出准确的值

Java System.currentTimeInMillis()在Android中未给出准确的值,java,android,Java,Android,我有一个Android应用程序,它可以找到两个事件之间的时间间隔。 当事件1触发广播时,我使用System.currentTimeInMillis()存储当前时间 当第二个事件发生时,我也会这样做,然后计算差值。 然而,结果总是差几秒,从这个意义上说,我知道间隔大约是4秒,但我得到的值大约是6秒 这是因为在发送广播、接收广播和存储值之间存在延迟吗? 如果是这样,有什么更好的方法来获得更准确的值呢?Per Developer.android.com(): System.currentTimeMil

我有一个Android应用程序,它可以找到两个事件之间的时间间隔。 当事件1触发广播时,我使用System.currentTimeInMillis()存储当前时间 当第二个事件发生时,我也会这样做,然后计算差值。 然而,结果总是差几秒,从这个意义上说,我知道间隔大约是4秒,但我得到的值大约是6秒

这是因为在发送广播、接收广播和存储值之间存在延迟吗? 如果是这样,有什么更好的方法来获得更准确的值呢?

Per Developer.android.com():

System.currentTimeMillis()是标准的“墙上”时钟(时间和 日期)表示自历元以来的毫秒数。挂钟可以是 由用户或电话网络设置(请参阅setCurrentTimeMillis(long)), 因此,时间可能会不可预测地向前或向后跳跃。这个钟 应仅在与真实世界日期和时间对应时使用 时间很重要,例如在日历或闹钟应用程序中。 间隔或经过时间测量应使用不同的时钟。 如果使用Surviv.CurrnTimeMILISH(),请考虑收听 动作\时间\勾选、动作\时间\更改和动作\时区\更改 意图广播以了解时间何时变化