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
-~----------~----~----~----~------~----~------~--~---

Reply via email to