センサーごとに異なるサンプリング レート (遅延) を設定すると、次のようになります。
SensorMgr.registerListener(this, accSensor, SensorManager.SENSOR_DELAY_FASTEST);
SensorMgr.registerListener(this, magneticFieldSensor, SensorManager.SENSOR_DELAY_GAME);
SensorMgr.registerListener(this, orientationSensor, SensorManager.SENSOR_DELAY_NORMAL);
Android は、すべてのセンサーに対して SENSOR_DELAY_FASTEST (指定された遅延の中で最も速い) を選択します。つまり、SENSOR_DELAY_FASTEST ですべてのセンサーに対して onSensorChanged() が呼び出されます。これはバグか何かですか?
各センサーリスナーのさまざまなクラスも試しました。