2012-05-08 36 views
0

嗯,我已经成功地获得了光照值,但是,它极其延迟。即使在使用.SENSOR_DELAYED_FASTEST时,即使在输入0时也要约3〜5秒。它太慢了。我有程序检查屏幕上的光线传感器值,然后相应地改变亮度HOPING它会解决可怕的自动亮度延迟。但在弄乱它之后,在我看来,这只是Android中的一个缺陷。它根本无法更新得足够快。我已经使用getDefaultSensor(),但根据android文档,这个值可以被延迟/过滤,但在阅读stackoverflow上的另一篇文章时,getSensorList()和getDefaultSensor()返回相同的值,并且getSensorList()与getDefaultSensor()如何在android中更改后立即从光传感器获取传感器数据?

我的问题的原因是:这是正确的吗? Android是否仅仅是在更新立即失败?其滑稽的原因,我的Windows移动(不是电话)可立即更新,我喜欢它。但是所有的android设备都是一样的。那么这只是Android编程中的一个缺陷?有没有办法让我作为一个应用程序开发人员来解决这个问题?还是我们必须忍受它?

回答

0

据我所知,你不能更快。请看看这个问题和答案:https://stackoverflow.com/a/5060690/1381641

+0

谢谢你已经看到了。但这并没有真正澄清任何事情,我的问题有点不同,即时通讯问是否它的android错误的NDK,使它永久?我记得有些人已经将android编译为C#(让我开心),我猜这是他们试图证明android太慢的情况。 (原因是) – Seth

+0

传感器轮询频率不仅取决于Android API,还取决于传感器本身(例如,来自给定提供程序的加速计可以每6毫秒轮询一次值,而其他人无法做得更快每15毫秒)。确信(我认为你已经做到了!),它是唯一注册的传感器,就好像你注册了几次轮询延迟可能是最慢的一次。 – PeterGriffin

+0

啊是的,这是我在寻找感谢格雷格的回应。 :)但是,我认为android的API有问题的原因是我的HTC HD2原本是Windows Mobile手机,所以硬件保持不变,但操作系统正在改变。而在Windows Mobile 6.5.x中,轮询可通过注册表项更改。最小的值我可以改变它为1毫秒,它在1毫秒内查询,同时杀死电池xD,所以我知道传感器可以很容易地进行轮询。是的,我只注册一次。感谢您的信息:) – Seth