gpt4 book ai didi

android-sensors - 传感器管理器 : One SensorEventListener VS Multiple Listeners

转载 作者:行者123 更新时间:2023-12-04 06:53:59 26 4
gpt4 key购买 nike

我正在尝试将传感器测量值记录到设备内存中。为此,我为许多传感器注册了相同的 SensorEventListener,然后根据类型使用开关将它们分开。

例如。

int type = sensor.getType();

switch (type) {
case Sensor.TYPE_ACCELEROMETER:
// log accelerometer data
break;

case Sensor.TYPE_GYROSCOPE:
// Log gyroscope data
break;

...

我的问题是,考虑到我使用 SENSOR_DELAY_FASTEST 注册了监听器,最有效(消耗电池电量更少)的方法是什么?为每个传感器设置一个监听器,还是设置一个监听器并用开关将传感器分开?

非常感谢您提前

米诺斯

最佳答案

一个安卓应用程序应该使用一个 SensorEventListener 每个传感器,因为每个 SensorEventListener 创建它的 自己的 FIFO 缓冲区 处理 SensorEvent .
通过芯片的电流消耗水平与提供给传感器的延迟有关不考虑 SensorEventListener 它附有。

如果多个传感器与一个 SensorEventListener 一起使用,则某些事件可能会丢失,原因是 缓冲区溢出 , 当传感器用于 SENSOR_DELAY_FASTEST .

因此,为了获得最佳结果并确保不会丢失任何事件:

  • 对一个传感器使用一个 SensorEventListener。

    提高效率:
  • 暂停应用程序时,取消注册所有已注册的传感器(如果不需要),这样即使在应用程序关闭后它们也不会从芯片获取事件。
  • 关于android-sensors - 传感器管理器 : One SensorEventListener VS Multiple Listeners,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22816089/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com