我在和android小部件中,检查两次System.nanoTime()调用之间的经过时间,并且该数量是否巨大。您如何以此计算经过时间?这应该是一秒钟的时间,而不是更多。谢谢

最佳答案

System.nanoTime()返回粒度为纳秒的时间值;如javadoc中所述,即10-9秒。相距很远一秒的两次System.nanoTime()调用之间的差异必然很大。

如果要使用较大的时间度量,请考虑使用 System.currentTimeMillis() ...或仅将纳秒值除以10的适当幂以适合您的应用。

请注意,在Android平台上,存在3个不同的系统时钟,它们支持不同的时间“度量”。参见 SystemClock 。如果您正在为Android平台进行显式编程,则应阅读javadoc并确定哪种措施最适合您的工作。

供您引用,“nano-”是国际单位制(SI)定义的标准前缀之一-请参见http://physics.nist.gov/cuu/Units/prefixes.html

如果您真的认为“他们”弄错了,并且“nano-”太小,则可以随时写信给NIST。我相信有人会感激的... :-)

07-28 02:10
查看更多