因为您知道如果没有触发任何SensorChanged事件,则没有任何更改,因此您可以使用旧值。正如您要求以特定间隔获取LOG数据一样,我不会在onSensorChanged方法中执行任何输出,只是将新数据克隆到您的accelerometerdata变量中。然后每40毫秒记录一次加速度计数据的值。这样,即使数据没有更改,您也会每40毫秒记录一次实际值。
注意:根据Ridcullys
Answer,似乎还可以在特定时间间隔内“传送”传感器数据。但是由于与Android上的传感器数据一样,这些“交付”总是会延迟,因此使用我的解决方案,您的间隔将更精确地为40ms。另一方面,如果传感器数据在您记录的那一刻发生更改,则可能会发生新数据延迟一个时间间隔的情况。而且我猜(不确定这一点)-因为它仅用于记录日志,而不是“实时地尽可能快地获取”之类的东西,因此这不是必需的-
Timer-Solution导致较少的CPU负载。



