I keep reading that using Android C2DM is the most efficient solution, bandwidth wise, for keeping track of updates. However, I'm missing exactly how C2DM is more efficient then say, a solution that does polling every 5 minutes.
My understanding is: C2DM works by maintaining a persistent TCP/IP connection. Maintaining said connection means keeping the radio on (I think this is where I'm wrong?) http://developer.android.com/training/efficient-downloads/efficient-network-access.html
So wouldn't keeping the TCP/IP connection open keep the radio on at all times, even if it is in low-power mode?
While polling every 5 minutes, even width the latency is the radio turning on/off, would for a 3 second download, keep the radio in high power mode for 5 seconds and low power mode for 12 seconds (latency shutting down).
Thanks for any help clearing this up.
Instead of polling the server for changes which uses bw and data, the server will notify you when something have changed so only then you can retrieve the changes.