我正在读取索尼智能手表3上的加速度计传感器。由于Android Wear 1.5更新采样率不会低于约60hz,无论我使用SENSOR_DELAY_NORMAL
, SENSOR_DELAY_UI
或SENSOR_DELAY_GAME
。在更新SENSOR_DELAY_NORMAL
之前,采样率大约为18个样本/秒。
accelerometer.getMaxDelay()
仍然返回62500,这将是16个样本/秒。我还尝试直接设置所需的延迟,当注册传感器与sensorManager.registerSensor(this, accelerometer, 62500)
,但这也不起作用。
有谁知道我怎样才能降低采样率吗?对于我的应用来说,节能是非常重要的,这就是为什么低采样率很重要。
关于samplingPeriodUs
:
这只是对系统的提示。事件的接收速度可能更快或更快低于指定速率。通常事件接收速度更快。
所以,恕我直言,你应该忽略一些传感器事件,正如Alex所建议的那样。传感器事件的预演(即没有实际处理应该不会非常耗电)。
怎么可能有不同:不是Android更新改变了行为,这是我的误解。
对于每个可能对传感器批处理或采样率有问题的人:
- 当显示打开或关闭时,采样率可能不同。在我的情况下,打开时为60hz,关闭时为18hz。
- 当设备连接电源时,传感器批处理可能无法工作。对我来说,我会拔掉usb线。在这种情况下蓝牙调试可能会有帮助。