android实现消息推送和接收的几个常用方案:
1.轮询:应用程序应当阶段性的与服务器进行连接并查询是否有新的消息到达,你必须自己实现与服务器之间的通信,例如消息排队等。而且你还要考虑轮询的频率,如果太慢可能导致某些消息的延迟,如果太快,则会大量消耗网络带宽和电池。
2.持久连接:这个方案可以解决由轮询带来的性能问题,但是还是会消耗手机的电池。Apple的推送服务之所以工作的很好,是因为每一台手机仅仅保持一个与服务器之间的连接,事实上C2DM也是这么工作的。不过这个方案也存在不足,就是我们很难在手机上实现一个可靠的服务。Android操作系统允许在低内存情况下杀死系统服务,所以你的通知服务很可能被操作系统Kill掉了。
相比之下第2种还是最可行的。为软件编写系统服务或开机启动功能;或者如果系统资源较低,服务被关闭后可以在onDestroy ()方法里面再重启该服务,进而实现持久连接的方式。
目前有一些现成的框架,比如androidpn(Android push notification)等,参见http://blog.youkuaiyun.com/way_ping_li/article/details/7948269
本文探讨了Android平台上消息推送的两种常见方法:轮询和持久连接。轮询方式简单但效率低,而持久连接能有效提高推送效率,但也可能增加电池消耗。文章还提到了一些开源框架如AndroidPN来辅助实现消息推送。
823

被折叠的 条评论
为什么被折叠?



