Android 传感器采样率在后台下降。间隙大至 10 分钟

Android sensor sampling rate drops in the background. Gaps as large as 10 minutes

我建立了一个库,它融合了 Android 设备上的传感器以确定一些标准的人类行为。我使用提高进程优先级的前台服务(即更多 cpu 周期)并且应该告诉系统不要终止应用程序 (http://developer.android.com/guide/components/services.html#Foreground)。前台服务应该保持进程的高优先级,应用程序也不会被杀死(我已经验证过)。

它在一段时间内运行良好,但最终,在 10 分钟或几小时后,在后台传感器数据中会出现间隙。少则一分钟,多则 10 分钟。

我正在收集所有传感器并将其发送到库以使用 java 执行程序以 32 赫兹进行分析,但我们在某些设备上取得了不同程度的成功和彻底失败。我想要关于为什么会发生这种情况的建议以及建议的优化......我真的很感激。

谢谢大家!

贾里德

我不知道这是否是您的特殊情况,但如果我没记错的话,一些 OEM 设备会做类似的事情。

以下是我将如何尝试调查的建议列表:

  1. 你能确认设备没有进入休眠(或打瞌睡)吗?
  2. 为这些设备充电时的行为是否相同?
  3. 如果可用,您是否使用 HW based queue 进行事件批处理?