Android:如何控制onSensorChange采样率

Android:如何控制onSensorChange采样率,android,android-sensors,sampling,magnetometer,Android,Android Sensors,Sampling,Magnetometer,安卓系统中的传感器读取率让我有点困惑。下面的代码报告约53毫秒的延迟(中兴通讯刀片,速率传感器事件设置为传感器延迟最快) 日志: DEBUG/Test(23024): 52 ms DEBUG/Test(23024): 53 ms DEBUG/Test(23024): 54 ms DEBUG/Test(23024): 56 ms DEBUG/Test(23024): 52 ms DEBUG/Test(23024): 52 ms DEBUG/Test(23024): 55 ms DEBUG/Test

安卓系统中的传感器读取率让我有点困惑。下面的代码报告约53毫秒的延迟(中兴通讯刀片,速率传感器事件设置为传感器延迟最快)

日志:

DEBUG/Test(23024): 52 ms
DEBUG/Test(23024): 53 ms
DEBUG/Test(23024): 54 ms
DEBUG/Test(23024): 56 ms
DEBUG/Test(23024): 52 ms
DEBUG/Test(23024): 52 ms
DEBUG/Test(23024): 55 ms
DEBUG/Test(23024): 52 ms
如果我们想平均说100个样本,然后保存数据,每100个样本之间的时间会有很大差异。这大概是因为传感器值在正常时间段内没有变化

但我是不是遗漏了什么?是否有办法获得(更多)定期测量(如100 ms)?或者我应该在一段特定的时间内取平均值,而不是样本数

而且50ms似乎有点长。这可能是设备的硬件限制吗?这一数字在不同的平台上会有所不同吗


非常感谢您的建议。

我会在一段时间内取平均值,而不是大量样本。如果采用基于数字的方法,我希望具有不同设备功能的不同设备将产生显著不同的结果。如果您想要更定期地管理采样,我可能会断开测试与事件的连接,并按照您希望的频率轮询设备

DEBUG/Test(23024): 52 ms
DEBUG/Test(23024): 53 ms
DEBUG/Test(23024): 54 ms
DEBUG/Test(23024): 56 ms
DEBUG/Test(23024): 52 ms
DEBUG/Test(23024): 52 ms
DEBUG/Test(23024): 55 ms
DEBUG/Test(23024): 52 ms