【问题标题】:Android: Slow light sensor (only when unplugged)Android:慢光传感器(仅在拔下时)
【发布时间】:2012-01-30 03:05:49
【问题描述】:

我目前正在开发一个应用程序,该应用程序利用光传感器在我的服务中执行任务。我使用这个网站的例子作为我的基础:

Android Light Sensor

当我的平板电脑插入计算机进行调试时,传感器可以正常工作。但是,如果我在未插入的情况下运行相同的代码,则响应非常慢,有时根本不会触发。

任何人都可以提出为什么当设备本身时性能会受到阻碍?

编辑: 我应该注意到我正在尝试在设备关闭的情况下读取传感器。我发现问题是设备休眠时传感器关闭。请在下面查看我的答案。

谢谢, 乔什

【问题讨论】:

    标签: android sensors light


    【解决方案1】:

    有时这只是一个设备问题,据报道,许多设备对光/接近传感器反应迟缓。至于插入时传感器响应正常的异常情况;也许您的设备传感器在有电源时响应更快。

    我会说通过更改 rate 来查看您的选项

    在:

    https://developer.android.com/reference/android/hardware/SensorManager.html

    rate 事件发生率。这只是对系统的提示。事件的接收速度可能比指定的速率快或慢。通常事件 收到更快。该值必须是SENSOR_DELAY_NORMAL 之一, SENSOR_DELAY_UISENSOR_DELAY_GAMESENSOR_DELAY_FASTEST

    所以我想添加 SENSOR_DELAY_FASTEST 可能会对您有所帮助。

    另外,我推荐你 Android SENSOR_DELAY_FASTEST isn't fast enough 帖子。

    【讨论】:

    • 我尝试调整传感器延迟,但拔掉电源后没有效果。我相信您是对的,传感器在通电时可能会更快。但是,我希望情况并非如此,因为它使我的应用程序使用光传感器成为一个零点。
    • 如果这是真的,最好的情况是您继续使用您所拥有的并且有一个免责声明:Android 3.1 有已知的传感器问题 或类似的问题......大多数设备将远离该版本,因此从长远来看,这可能不是什么大问题。
    • 为了测试传感器功率理论,我尝试了将平板电脑插入墙壁而不是 PC 的应用程序。结果与未插入时的结果相同。因此显然与PC有关。我的开发环境是否正在运行也没关系,因为它在没有运行 Eclipse 的情况下也一样快。
    • 我已经通过我的代码保证照明量不是罪魁祸首。我现在相信它与传感器进入深度睡眠有关,但只有在它被拔掉时(我的应用程序在设备睡眠时读取灯)。我注意到他们在这里有一些线程,如果我设法修复它,我会保持更新。
    • 部分唤醒锁定似乎起到了作用,尽管我不确定是否值得为电池付出代价。我会全天监控。感谢您的所有建议。
    【解决方案2】:

    我发现问题的原因是设备关闭CPU,导致光传感器延迟或不读取。

    添加部分唤醒锁定确实解决了问题,但代价是电池使用率很高。如果有人对我如何在没有唤醒锁的情况下关闭设备继续监控光传感器有任何建议,我将不胜感激。

    【讨论】:

      猜你喜欢
      • 2011-05-13
      • 1970-01-01
      • 1970-01-01
      • 2011-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多