Android 传感器采样率不会低于 60 赫兹
Android sensor sampling rate won't drow below 60 hz
我正在读取 Sony Smartwatch 3 上的加速计传感器。自从 Android Wear 1.5 更新以来,采样率不会低于 60hz,无论我使用什么天气 SENSOR_DELAY_NORMAL
, SENSOR_DELAY_UI
或 SENSOR_DELAY_GAME
。更新前 SENSOR_DELAY_NORMAL
导致采样率约为 18 samples/seconds.
accelerometer.getMaxDelay()
仍然是 returns 62500,也就是 16 samples/sec。当使用 sensorManager.registerSensor(this, accelerometer, 62500)
注册传感器时,我也尝试直接设置所需的延迟,但这也不起作用。
有人知道如何降低采样率吗?对于我的应用来说,节能非常重要,这就是低采样率很重要的原因。
Docs 接下来说一下 samplingPeriodUs
:
This is only a hint to the system. Events may be received faster or
slower than the specified rate. Usually events are received faster.
因此,恕我直言,您应该忽略一些传感器事件,正如 Alex 所提议的那样。 Dry 运行 用于传感器事件(即没有实际处理不应该非常耗电)。
怎么会有所不同:不是 Android 更新改变了行为,这是我的误解。
对于可能遇到传感器批处理或采样率问题的每个人:
- 当显示器打开或关闭时,采样率可能会有所不同。在我的例子中,开启时为 60hz,关闭时为 18hz。
- 当设备连接到电源时,传感器批处理可能无法正常工作。对我来说,我会拔掉 USB 数据线。在这种情况下,蓝牙调试可能会有所帮助。
我正在读取 Sony Smartwatch 3 上的加速计传感器。自从 Android Wear 1.5 更新以来,采样率不会低于 60hz,无论我使用什么天气 SENSOR_DELAY_NORMAL
, SENSOR_DELAY_UI
或 SENSOR_DELAY_GAME
。更新前 SENSOR_DELAY_NORMAL
导致采样率约为 18 samples/seconds.
accelerometer.getMaxDelay()
仍然是 returns 62500,也就是 16 samples/sec。当使用 sensorManager.registerSensor(this, accelerometer, 62500)
注册传感器时,我也尝试直接设置所需的延迟,但这也不起作用。
有人知道如何降低采样率吗?对于我的应用来说,节能非常重要,这就是低采样率很重要的原因。
Docs 接下来说一下 samplingPeriodUs
:
This is only a hint to the system. Events may be received faster or slower than the specified rate. Usually events are received faster.
因此,恕我直言,您应该忽略一些传感器事件,正如 Alex 所提议的那样。 Dry 运行 用于传感器事件(即没有实际处理不应该非常耗电)。
怎么会有所不同:不是 Android 更新改变了行为,这是我的误解。
对于可能遇到传感器批处理或采样率问题的每个人:
- 当显示器打开或关闭时,采样率可能会有所不同。在我的例子中,开启时为 60hz,关闭时为 18hz。
- 当设备连接到电源时,传感器批处理可能无法正常工作。对我来说,我会拔掉 USB 数据线。在这种情况下,蓝牙调试可能会有所帮助。