心跳典型值
| Line | GCM | ||
| WIFI | 4分45秒 | 3分20秒 | 15分钟 |
| 手机网络 | 4分45秒 | 7分钟 | 28分钟 |
移动NAT时间
大部分移动无线网络运营商都在链路一段时间没有数据通讯时,会淘汰 NAT表中的对应项,造成链路中断。下表列出一些已测试过的网络的NAT超时时间(更多数据由于测试条件所限没有测到):
| 地区/网络 | NAT超时时间 |
| 中国移动3G和2G | 5分钟 |
| 中国联通2G | 5分钟 |
| 中国电信3G | 大于28分钟 |
| 美国3G | 大于28分钟 |
| 台湾3G | 大于28分钟 |
长连接心跳间隔必须要小于NAT超时时间(aging-time),如果超过aging-time不做心跳,TCP长连接链路就会中断。
心跳的实现一例:

a. 连接后主动到服务器Sync拉取一次数据,确保连接过程的新消息。
b. 心跳周期的Alarm 唤醒后,一般有几秒的cpu 时间,无需wakelock。
c. 心跳后的Alarm防止发送超时,如服务器正常回包,该Alarm 取消。
d. 如果服务器回包,系统通过网络唤醒,无需wakelock。