我在 android 小部件中并检查两次 System.nanoTime() 调用之间耗时,这个数字很大。你如何用这个测量耗时?它应该是几分之一秒,而不是更多。谢谢
最佳答案
System.nanoTime()
返回一个时间值,粒度为纳秒;即 10-9 秒,如 javadoc 中所述.两次 System.nanoTime()
调用之间相差几分之一秒的差异必然是一个很大的数字。
如果您想要具有更大粒度的时间度量,请考虑 System.currentTimeMillis()
... 或仅将纳秒值除以 10 的适当幂以适合您的应用。
请注意,在 Android 平台上有 3 种不同的系统时钟,它们支持不同的时间“度量”;见SystemClock
.如果您明确地为 Android 平台编程,您应该阅读 javadoc 并决定哪种措施最适合您正在做的事情。
供您引用,“nano-”是国际单位制 (SI) 定义的标准前缀之一 - 请参阅 http://physics.nist.gov/cuu/Units/prefixes.html .
如果您真的认为“他们”弄错了并且认为“纳米”太小,您可以随时给 NIST 写信。我相信有人会很感激... :-)
关于Java System.nanoTime() 耗时的巨大差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5023647/