Android - how do sensor readings affect battery life

Anonymous picture Anonymous · Jan 26, 2014 · Viewed 12.1k times · Source

i have added a feature in my app that uses the proximity and accelerometer sensors (the second is to detect shakes). This is implemented in an always running service (if the user selects it of course). But I fear for the battery usage that my ap will have. I have NOT used any wake locks but i still get readings even when screen is off as i can see in my logs. The question is: what of the following is true?

  1. The two mentioned sensors are activated anyway by android system the whole time (in which case me collecting the readings as well does not affect battery life...i guess).
  2. Android system turns these sensors off most of the time (in which case me keeping them always on through my service affects battery life)

If (2) is true: Is it possible to implement my own sleep cycle for the sensors or will the whole toggle process make things worse?

Answer

unitedartinc picture unitedartinc · Jan 26, 2014

Amount of power taken by sensor varies from sensor to sensor, and device to device.

On average, your most power hungry sensors are the GPS, accelerometer and gyroscope. Leaving them On all the time will reduce the battery faster.So you should pause the sensor when the device is where-ever not necessary.

After that, the light sensor and compass are much less battery intensive, but if you use them for long enough even they'll affect battery life.

besides this you can test your app for sometime how much it takes, or you can use getPower () to return the power in mA used by this sensor while in use.

There is no exact method for this actually.If your app have to use the sensor then use it when its needed.

thanks