【发布时间】:2011-01-05 15:26:03
【问题描述】:
最近 google 推出了推送到设备服务,但它仅适用于 2.2 及更高版本。
我需要在我的应用中使用类似的系统,并且我正在尝试绕过限制。
问题在于电池寿命。由于必须立即通知用户服务器上的更改,因此我想实现一个将在后台运行的服务(标准 Android 服务)并查询服务器以获取更新。
当然,查询服务器,即使每秒查询一次,也会消耗大量带宽和电池,所以我的问题是:如果服务器将响应保持一段时间,是否会有所不同? (彗星类型ajax请求背后的想法)
像这样工作:
- 设备发送数据更新请求
- 服务器获取请求并进入循环一分钟,检查每次迭代是否有更新
- 如果有更新,服务器会发送更新响应
- 如果没有,服务将继续进行下一次迭代。
- 一分钟后,它终于发送了没有数据可用的响应
- 响应后(无论是空的还是有数据的)Android 会触发另一个此类请求。
它肯定会花费更少的带宽,但它会消耗更少(甚至更多)的电池吗?
【问题讨论】: