The 关于 uptimeMillis() 的 Android 文档 http://developer.android.com/reference/android/os/SystemClock.html#uptimeMillis%28%29 says:
返回自启动以来的毫秒数,不计算深度睡眠所花费的时间。Note:该值可能偶尔会重置(否则会回绕)。
文档们担心它会缠绕起来,这似乎很奇怪。毕竟,该方法返回一个 long。快速计算得出,它需要大约 292,271,023 年才能完成!
那么文档怎么了?它真的有可能包裹起来吗?该值可能会在长时间达到最大值之前回绕吗?这就是文档实际上想说的吗?如果是的话,什么时候结束?
[尤其令人费解的是System.currentTimeMillis() http://developer.android.com/reference/java/lang/System.html#currentTimeMillis%28%29也是一个 long,代表一个纪元以来的时间。然而,Android 完全没有提到价值包装的可能性。更重要的是,对于从 0 开始的 uptimeMillis...]
这主要是猜测,但根据我找到的文档似乎是有道理的。如果我们考虑到native public static long uptimeMillis()
in SystemClock
是一个本机方法,在 32 位空间中运行,然后将其简单地转换为 Javalong
当你调用它时,它是有意义的,因为 2^32 毫秒是很容易达到的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)