我正在尝试制作一个非常简单的反应时间测试程序。它由“开始测试”按钮和“单击我”按钮组成。按下第一个按钮后,第二个按钮会在随机几秒钟后闪烁红色。时间是根据它变成红色并被用户按下的时间来计算的。
据我搜索,有 3 种方法可以计算程序经过/执行时间(以毫秒为单位):
- 日期().getTime()
- System.currentTimeMillis()
- System.nanoTime()
哪一个更适合我?事实是,我的时间安排需要明确的精确度。
非常感谢 :)
System.nanoTime()
是获得确定精度的最佳方法。
请参阅:System.nanoTime():
Returns the current value of the most precise available system timer, in nanoseconds.
你正在计时人类的反应,所以System.nanoTime()
是矫枉过正。
其余两个中侵入性最小的是,System.currentTimeMillis()
但请记住,它在系统之间具有粒度。