let’s consider a smartphone. I suppose that the four main ways in which it spends energy is keeping screen on (especially for long periods of time for reading or notes taking), running processor, wifi internet communication and cellphone talking per se. So, does anybody know how much power is spent on each of these activities, either in absolute numbers or at least in terms of comparisons (something like, WAG, “processor a lot more than screen and wifi comparable”). In terms of processor, I understand that different activities involve different levels of power usage, so any details here are also appreciated.
Android has Battery use display built in - under Settings:About Phone. On iPhones, there are several Apps for that…
On my wife’s Droid (which gets very little use - a few calls a day), it shows:
2d 3 hrs since last charge. 30% left.
Battery Usage:
41% Idle
31% Cell Standby
14% Display
6% Voice calls
3% WiFi
3% Android OS
3% Android System
To me it looks like keeping the Cellular radio going (Cell Standby) is a heavy battery drain. Not surprising.
Someone who uses an iPhone battery App will be along soon - along with heavier Droid users, I’m sure.
I’ve spent most of the last decades designing cell phones…based on past experience because I clearly can’t speak for my current company…
The RF takes more than most of the rest of the system…that’s why your battery drains faster if you are in a call than if you’re working on your shopping list. Just staying camped on the network takes some serious power, but not very often. The more stable use in a call or in an active data session hurts the battery more.
After that, the backlight on the display is pretty expensive.
The CPU take s a good bit, but it sleeps a lot more than you’d think.
There are a ton of variables for the rest…is the display a smart panel (with its own display buffer), or a dumb panel (using part of the main DDR as a buffer)? What features do you have enabled? (GPS? WiFi?)
-D/a
As an applications developer, we are warned that using location services (the GPS) is a big drain on the battery. Is there any truth to this? Is this a particularly expensive operation, power wise?
Using the GPS implies turning it on. If your app doesn’t turn it back off when it isn’t needed, then you are draining the battery. GPS doesn’t take near the amount as the cellular, WiFi, or Bluetooth RF sections, but it’s a lot more than 0.
It’s lower power than the others because it’s receive only. I’m not sure how often it likes to scan for location…that would be the other part of the equation.
-D/a
Thank you. Yes, the admonishment is not to keep scanning, not just turning it on to check. I’m not really sure how often it checks, either, although on the iPhone based on the frequency of the call backs, the answer is “a lot”.
No problem.
I’m a kernel/driver guy… I never deal with apps if I don’t have to
But a few further thoughts…I’d like to think that there are two general use cases:
- Where am I? Useful for popping up a radar map, list of businesses nearby, etc
- What movement am I doing? Useful for mapping a route, remote tracking, etc.
- not gonna do it…nope…not gonna…besides, I said there are two use cases…not three…
Architecturally, #1 should be relatively low battery usage because you turn it on, wait for a fix, get your data, and turn it back off. #2 will be higher usage, because you have more active data.
Of course, the APIs may not give you that level of control…but if they do, then stick to #1 unless you really need the data from #2.
-D/a
My Nexus One (Android) shows the display is responsible for 75% of the battery usage. But with Android, you can do things like overclock and “undervolt” the kernel and automatically shut down parts of the system to save power, so you can almost choose what to spend the battery on. My phone gets a lot of use, but it’s overpowered for what it does, so unless I make long phone calls, the display is always the biggest user.
But there’s a lot of factors. If it stayed in your pocket all day, the system probably uses most. If you’re on the phone, the phone probably uses most. Some games can drain the battery faster than anything else. Screen brightness can such be a factor that choosing a dark theme can often prolong battery life. Streaming music is usually a drainer compared to saving and playing it.
Wifi can help or hurt. It’s an extra radio so it will always consume more power on than off, but surfing the web over the cell network usually uses more power than doing it over wifi.
Doubtful, since the backlight is what consumes most of the energy.
(this is largely off topic, since it doesn’t answer the question of how much power does it use, but this is what causes app designers sleepless nights)
Those are the two cases (and the third is “where’s…um, never mind”).
The class responsible (on the iPhone - I haven’t done location services work on other platforms) allows a fair amount of control. It also seems the hardware has some level of intelligence, in that if user hasn’t moved, the updates slow down (that could just be not bothering the beleaguered apps developer, though). Generally, our choices for fulfilling those cases are
- Start location manager. Get a fix. Stop it. (we might wait for several fixes if the error radius is too large).
Useful if the user has said “what’s near me”, for instance. Do this in response to user events (pushing a button labeled “figure out where I am”, for instance).
-
Start location manager. Keep it running. Useful if the user is e.g. jogging and we’re trying to track distance. This might be expensive, but it is generally the only way of fulfilling the use case
-
Start location manager, get fix, stop. Wait X seconds, start location manager, get fix, stop. Repeat.
Useful if the user wants to know what businesses are around them now. While I have no idea how it is implemented under the hood, Google maps exhibits behaviour similar to the last one (when it suddenly moves to your new location after some period of inactivity).
The one that causes the arguments is whether to do 1. or 3. for “near me” searches, particularly since there is a level of complexity added by doing so.
That’s when we start arguing about the battery cost of a search, and the cost (if any) of cold starting the GPS.
Of course, with the analytics embedded in most applications these days, we really just query the user location because we’re nosy
On most phones, the difference (as **beowulff **points out) is the backlight level. You might be able to tweak that to save power, and pick a theme that still looks good for you.
Some devices are starting to use OLED screens. These actually emit light instead of relying on a separate set of LEDs. Some colors take more power than others. White is expensive - black is cheap. But black is much truer black, since it isn’t as washed out by the generic backlight.
One side effect of this technology is that you can go on a ski trip, take a picture of your friends on the top of a mountain, and set it as your background image. Now you have lower battery life, because of all the white in the snow. If you don’t stay on the home screen much, it may not matter to you, of course.
-D/a
And I’d expect this to vary from platform to platform…and maybe from OS release to OS release.
And to get back on topic a bit…at my old company, we had a few patents based on using location services to enable/disable other features for power management. Things like how often you scan for WiFi, for instance. It’s way more complicated than that, of course…but you get the point. Sometimes the obvious power drains can actually be good for battery life.
-D/a
Sorry for the slight hijack:
When the phone is not being used, should I shut off what I can, e.g. wifi? Will it still use power when it is in sleep mode?
I also noticed that my phone automatically hooks up to bluetooth, even though I don’t need it.
Sorry, that’s right for LCD screens, but it helps on AMOLED displays like mine.
The WiFi part to be phone dependent. I’m not sure if they scan while asleep. I suspect if you have an auto-connect setting, it will. So if you want to save power, I’d turn off WiFi. In fact, I rarely have it on for my own phones…just don’t need it for my use cases.
Bluetooth - I imagine that’s because you want it to be able to auto-pair to your car when you get in, so an incoming call can be routed to the hands free setup. If you want that to work, leave bluetooth enabled. If you don’t care, turn it off.
-D/a