我正在使用 android 小部件并检查 System.nanoTime() 的两次调用之间的经过时间,并且数字很大。你如何用这个来衡量经过的时间?它应该是零点几秒,但实际上却更长。谢谢
The System.nanoTime()
returns a time value whose granularity is a nanosecond; i.e. 10-9 seconds, as described in the javadoc http://download.oracle.com/javase/6/docs/api/java/lang/System.html#nanoTime(). The difference between two calls to System.nanoTime()
that are a substantial fraction of a second apart is bound to be a large number.
如果您想要具有更大粒度的时间度量,请考虑System.currentTimeMillis() http://download.oracle.com/javase/6/docs/api/java/lang/System.html#currentTimeMillis()...或者只需将纳秒值除以适当的 10 次方即可适合您的应用。
请注意,在 Android 平台上,有 3 个不同的系统时钟支持不同的时间“度量”;看SystemClock https://developer.android.com/reference/android/os/SystemClock.html。如果您正在为 Android 平台显式编程,则应该阅读 javadoc 并决定哪种措施最适合您正在做的事情。
供您参考,“nano-”是国际单位制 (SI) 定义的标准前缀之一 - 请参阅http://physicals.nist.gov/cuu/Units/prefixes.html http://physics.nist.gov/cuu/Units/prefixes.html.
如果你真的认为“他们”弄错了,并且“纳米”太小,你可以随时写信给 NIST。我相信有人会很感激...:-)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)