Android上的长期持久TCP连接

Fai*_*bid 14 android tcp persistent

我已经阅读了网上的一些文章和StackOverFlow上的一些问题,但似乎没有人肯定答案a)如果google使用Long Lived TCP连接进行Gmail,Mail等,并且b)如果在自定义应用中使用它将耗尽电池寿命,如果这样大致多少?

msh*_*yer 14

您的第一个问题的答案是,是的,谷歌的GTalkService在安装了Google应用程序的Android手机上维持与谷歌服务器的持久XMPP连接.

至于你的第二个问题,对此的答案比你认为的一些评论更复杂.特别是,附加连接的保持连接数据包 - 或任何小但持续发生的数据传输 - 可能会影响您的3G无线电的电源管理状态周期,这将对电池寿命产生显着影响.

有关更多信息,请参阅此文章:

https://www.ericsson.com/research-blog/smartphone-traffic-impact-battery-networks/

如果可能,您可以考虑使用新的Cloud to Device Messaging API,该API可以在GTalkService之上,允许您的应用程序在不维护自己的TCP连接的情况下接收通知.不幸的是,缺点是C2DM不适用于纯开源Android,它要求用户登录他或她的Google帐户,并且只能在Froyo或更高版本上使用.

  • 另请看这篇博文:http://devtcg.blogspot.com/2009/01/push-services-implementing-persistent.html (2认同)