两者似乎都适合在 Android 上计时。它们有何不同?哪一个最适合计时?
问问题
1231 次
1 回答
2
据我所知,并没有太大的区别,但它们在底层使用了不同的 Linux 时钟。
nanoTime()
使用clock_gettime()
or gettimeofday()
:请参阅此处的代码(Dalvik VM 的一部分)。
elapsedRealtimeNanos()
以前用过clock_gettime()
,现在不用了。ioctl
相反,它现在向设备发出一个/dev/alarm
(请参见此处的代码),但我不确定alarm
设备驱动程序使用什么。
我已经使用elapsedRealtimeNanos()
了很长时间没有任何问题,但不是出于任何特定原因。只要确保您意识到这些功能都不会提供挂钟时间。
于 2014-07-09T23:17:14.713 回答