• 我不去想是否能够成功
    既然选择了远方 便只顾风雨兼程

    我不去想能否赢得爱情
    既然钟情于玫瑰 就勇敢地吐露真诚

    我不去想身后会不会袭来寒风冷雨
    既然目标是地平线 留给世界的只能是背影

  • 放弃这个字,说起来简单,做起来就更简单了。

领导说努力工作会更快成熟,所以,我现在看上去比他们都老。

android传感器使用注意事项

先说一个案例(自己的):

昨天写了一个收集数据的程序,加上后台服务,加上锁屏后数据的收集处理。一晚上完成了(刚开始接触andorid,比较菜)。然后开始收集数据了。由于采用20Hz的传感器数据采集频率,所以设置为50毫秒保存一次均值。这是一个小的基本算法。然后运行。结果发现每200ms收集一次数据。

要么1396511770050,1396511770250,1396511770450,1396511770650。。。

要么是1396511770150,1396511770350,1396511770550,1396511770750。。。

第一反应是自己的程序错了(因为肯定是自己程序错了,以前写的activity收集的数据是正常的),然后开始查啊查啊查,查到晚上10点半都没出结果。相当的郁闷也想不通。今天又重新看了一遍程序,然后对照老的程序,也没有发现问题。然后开始确定自己的程序出现在设置传感器敏感度上了。经过查治疗发现:


 mSensorManager.registerListener(this, mLight, SensorManager.SENSOR_DELAY_NORMAL);
调用 registerListener() 时指定了缺省的数据延时 (SENSOR_DELAY_NORMAL)。 数据延时(或采样率)控制着由onSensorChanged() 发送给应用的传感器事件的触发间隔。缺省的数据延迟是200,000微秒,适于监测典型的屏幕方向变动。 你可以把数据延时指定为其它值,比如 SENSOR_DELAY_GAME (20,000微秒)、 SENSOR_DELAY_UI (60,000微秒)或 SENSOR_DELAY_FASTEST (0微秒)。Android 3.0 (API Level 11) 开始,你还可以直接指定延时值(微秒数)
好吧,然后找到原因了,设置为SENSOR_DELAY_FASTEST,然后直接成功了。不过为了节省电量,还是高频度的还是设置为20ms的SENSOR_DELAY_GAME比较好


最新评论