最可靠的计算时差的方法

时间:2012-01-31 19:34:24

标签: java android time accelerometer

每次加速度计值发生变化时,我都会使用onSensorChanged()函数更新加速度计读数。然后我创建一个文件,我在每行写入加速度计读数(X,Y,Z)轴,但也想在每次读数之间添加时间间隔。我正在读某个使用System.currentTimeMillis()的地方。尽可能准确地做到这一点最好的方法是什么?

3 个答案:

答案 0 :(得分:3)

我建议使用SensorEvent的timestamp字段:

public long timestamp

Since: API Level 3
The time in nanosecond at which the event happened

记住最后一个值并计算差异

答案 1 :(得分:1)

使用标准Java API调用:

System.nanoTime

然后简单地在两次之间做差异。

答案 2 :(得分:1)

Guava's Stopwatch专为此用例而设计。

Stopwatch stopwatch = new Stopwatch().start();
doSomething();
stopwatch.stop(); // optional

long millis = stopwatch.elapsedMillis();

log.info("that took: " + stopwatch); // formatted string like "12.3 ms"