当从java加速计中检索到更准确的数据时?
我和一个朋友正在开发一个应用程序,从加速计读取数据,以便以后处理。我们正在使用黑莓Playbook(基于安卓系统)
我们需要尽可能准确的数据。他说,与从Java API获得的读数相比,使用本机C API时,他从Playbook的加速计获得的读数更准确。我认为他从每个API读取数据的速度可能让他认为C代码的读取更准确
设置读取速率,并用C读取数据,如下所示:
/* 25000 microseconds = 25 miliseconds */
static const int ACCELEROMETER_RATE = 25000;
sensor_set_rate(SENSOR_TYPE_ACCELEROMETER, ACCELEROMETER_RATE);
sensor_set_skip_duplicates(SENSOR_TYPE_ACCELEROMETER, true);
/* ...code ommited... */
/* gets the data */
sensor_event_get_xyz(event, &force_x, &force_y, &force_z);
在Java中是这样的:
mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_UI);
/* ...code ommited... */
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() != Sensor.TYPE_ACCELEROMETER)
return;
mSensorX = event.values[0];
mSensorY = event.values[1];
mSensorZ = event.values[2];
}
我以前读过那本书。SENSOR_DELAY_UI`将读取速率设置为大约20ms,但我不确定
C语言中的这些代码比Java语言中的代码获得更准确的数据,这有意义吗
# 1 楼答案
Blackberry开发人员可能也在Java实现中使用包含c代码的库
不,语言不应该扮演任何角色,因为c和java都被简化为字节码