I have installed Google Latitude and am wondering how much quicker my battery will run flat? I know the way Apple implemented its "mutitasking" framework minimises the impact?
Specifically, the Latitude app (and other background location-updating apps) register themselves for location updates "on significant location change".
How the phone knows the location has changed significantly is when the phone does a cell tower handoff. It's moved enough that it's out of range of the tower it was talking to and its service is handed to the next tower. At that time, if any apps are registered for location updates, the phone fires up its GPS, gets its coordinates, and feeds them to those apps. Those apps then get to do a LITTLE work with what they were told.
When iOS 4 came out, I wrote a little app to play with this API. Basically it just sat in the background and recorded lat/lng for every update it got. Between my office and my house (like 10 miles) it got eight or nine sets of coordinates.
That means eight or nine times (call it once a mile or so) that the phone has to fire up the GPS chip, listen for signals from outer space, and do something with them. That obviously takes up more electricity than if it didn't have to do that.
Is it MUCH more? You know what? Not really. I charge my phone when it needs it (rather than, say, nightly), and I didn't notice it needing it more than usual when my little app was running. So my guess is that Latitude won't be a major battery suck. But it'll definitely suck some.
Due to the way multitasking is done in iOS 4, Apple tried to implement it in a way to reduce this as much as possible. For example, with the latitude app, it can only poll and post location information at certain intervals.
So, yes, any background app actually working (like GPS or Upload type apps) will use a little more resources than a phone not running them.
But, if one were to run this type of app fully in the background (for example, how some jailbroken apps do), it would be using a significant amount more of power.
Yes, any app that runs in the background needs some attention from the CPU, and this costs battery power. Further, if the app needs GPS and/or 3G service or other battery-intensive services, then of course the battery will deplete even faster.
But depending on your situation and circumstances, this can be a trade-off that's worth it, especially if you only need to do this for shorter periods of time.