我想编写一个应用程序,从不同的传感器(GPS,Acc,Gyro,Compass)中读取尽可能多的传感器状态(每次).所以我必须调查使用NDK是否有优势.
这是我的问题:
a)从传感器读取传感器值时的瓶颈是什么?是senosr本身还是Java?我可以使用NDK来提高费率吗? (我认为GPS的瓶颈是传感器本身,但我已经读过,例如陀螺仪传感器非常快)
我找到了this thread,似乎瓶颈就是传感器.有人能证实吗?
b)轮询而不是使用EventListener是否会提高速率?什么是快速读取传感器值的最佳方法?
c)NDK的使用是否会对应用的功耗产生任何影响?我没有发现任何相关信息.
d)我是Android新手.使用NDK而不是普通的Java是否更有能力?
根据这个sample-code,使用事件队列与传感器进行交互似乎很简单,但是编译代码并从应用程序中使用它有多大的代价?
提前致谢.
解决方法
注册传感器侦听器时,需要将SensorManager.SENSOR_DELAY_FASTEST传递给registerListener().
有关详细信息,请参阅http://developer.android.com/reference/android/hardware/SensorManager.html.