I realize this is potentially controversial but hear me out.
Ignoring the devices with massive batteries that can last days.
- Batteries in devices are better than they used to be.
- People have learnt when they can't use devices all day without consequence to the battery.
- Because of this people have learnt to manage their usage so that they get through the day without running out of power. After all its them that suffer if the battery is drained.
- People do this through a combination of managing their usage, recharging during the day and disabling radios and background tasks that they don't want or need.
So, if people have learnt to use their devices so that battery life isn't an issue, I think we're at a point where developers don't need to think about optimising their code to minimize power consumption.
Yes, some apps require intense processing or network activity that requires extra power consumption but this shouldn't be an extended event.
Also, line of business apps can have extra, special requirements for preserving battery life and ensuring usability. They're a hopefully obvious exception.
Some games are particularly bad at this and this should clearly be avoided. If I play a game for half an hour and it uses up half of the power in the battery (naming no names) then something is definitely wrong.
Of course this all comes with a disclaimer. I accept no responsibility for bad reviews or other negative consequences if your app drains a person's battery.
If you're an app developer, do you think about the battery consumption of your apps?
**Update**
(Hello those who came here at the prompting of
@DVLUP)
This was
also posted on DZone where discussion in the comments lead me to try and clarify some of the above.
My point is that there is probably little business value in spending time optimizing your code to be battery efficient. This makes two assumptions.
1. You aren't doing anything silly in your code.
2. You are managing resources that might drain the battery quickly appropriately.