我正在从光传感器收集数据一段时间:
mSensorManager.registerListener(this, lightSensor, SensorManager.SENSOR_DELAY_FASTEST);
问题是收集的数据并不总是准确和频繁。 “不准确”,我的意思是,如果我在某个时间启动传感器,在我开始收集数据之前,有时候第一次阅读会很久。
此外,由于延迟被声明为SensorManager.SENSOR_DELAY_FASTEST
,我得到了很多值,有时我在一秒钟内得到100条记录,有时我甚至没有在三秒钟内读取一条记录。
有人可以解释这个问题可能是什么,请问有什么解决方案吗?
答案 0 :(得分:1)
我相信这是因为这些光传感器只在光线发生变化时发送数据。因此,如果光线水平没有变化,你将无法获得任何读数,但如果你在它前面挥动手或缓慢调高调光开关,你将获得100个读数。
答案 1 :(得分:0)
可能是传感器属性。我相信它包含一个内部缓冲区FIFO,它解释了为什么将第一个读数作为已经完成的旧读数。该内部缓冲区的作用是保存有限数量的扫描或读数,以等待用户将其拉出。如果可以,请尝试在每次读取之前重置传感器的FIFO。