Когда вы регистрируете SensorEventListener, какую скорость вы используете? Вы должны использовать SENSOR_DELAY_GAME
, чтобы получить наилучший баланс между частыми обновлениями и не перегружать очередь обновлений, что может привести к замедлению обновления, если SENSOR_DELAY_FASTEST
.
Что касается других ваших вопросов, я думаю, что они спорные. Независимо от того, задержка обновления, которую вы видите, вызвана API или самим компасом, вы не можете ее изменить.