I thought I'd chime in with some recent work I have done on this topic. The Google services on Android use Gtalk to implement push notifications and they do so using a persistent TCP connection as is the case with most other data-based push systems (like Microsoft's Exchange ActiveSync, for instance). While there is additional overhead, there are many ways to mitigate the burden on the CPU and the radio. I have constructed a simple demonstration of some of the techniques I have learned from studying Gtalk's connection which can be found here: http://devtcg.blogspot.com/2009/01/push-services-implementing-persistent.html.
The important thing to note is that using an AlarmManager allows the CPU to sleep at relatively long intervals (it depends on your server implementation, but with IMAP you can get away with almost 30 minute intervals) while the radio remains awake but idle. I have been running my demonstration on my G1 handset for several weeks now and have been unable to detect any significant change in battery performance. One small point to make is that often push services drag on the battery for other less obvious reasons. For instance, if your e-mail arrives instantly, you are more often going to turn on the screen, then open the e-mail app and spend time reading your new messages. While I have no concrete estimation of battery drain, I think it can be reasoned that 30-60 seconds of screen activity uses more battery than a small keep alive TCP packet. On Nov 26 2008, 3:34 pm, "Tom Gibara" <m...@tomgibara.com> wrote: > > So, the question is: with an open-but-quiet Internet connection on a > > carrier data network, how much power draw is there from the GSM radio? > > I'm probably beyond the limits of my understanding here, and definitely well > beyond the limits of my competency :) > > But that won't stop me from choosing to extrapolate from the repeated > comments by Google engineers to the effect that phones are designed to > conserve power at any opportunity. On that basis, I anticipate that radio > will go into a lower power state any opportunity it can; including when a > quiet network connection is present. This seems entirely plausible given the > packet based nature of the network. > > Tom. > > 2008/11/26 Mark Murphy <mmur...@commonsware.com> > > > > > > And the radio is necessarily always on. > > > Yeah, but... > > > I was under the impression that, in normal operating mode, the GSM radio > > is in a low-power state. That's why you have "talk time" versus "standby > > time" in mobile device battery life specs -- when a call begins, the radio > > stays in a high-power-draw state until the call ends. > > > So, the question is: with an open-but-quiet Internet connection on a > > carrier data network, how much power draw is there from the GSM radio? > > > There's also the scenario of the device being on WiFi instead of GSM, but > > that's probably not as frequent. > > > -- > > Mark Murphy (a Commons Guy) > >http://commonsware.com > > _The Busy Coder's Guide to Android Development_ Version 1.4 Published! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---