A android application should use one SensorEventListener per Sensor as every SensorEventListener creates its own FIFO buffer to process the SensorEvent. The consumption level of the current through the chip is related with the delay provided to the sensor irrespective of the SensorEventListener it is attached with.
If multiple sensors are used with one SensorEventListener than some events may get lost, due to buffer overflow, when the sensors are used at SENSOR_DELAY_FASTEST.
So,For best results and to ensure that no event is lost:
Use one SensorEventListener for one sensor.
For increase in efficiency:
- when pausing the application, un-register all the sensor registered ,if they are not required, so they do not get events from the chip even after the application is closed.