iOS 和 Android 的后台推送原理各是什么?有什么区别

 我来答
0不想忘记0
2015-12-07 · 知道合伙人数码行家
0不想忘记0
知道合伙人数码行家
采纳数:3265 获赞数:9155

向TA提问 私信TA
展开全部
  iOS 系统的推送(APNS,即 Apple Push Notification Service)依托一个或几个系统常驻进程运作,是全局的(接管所有应用的消息推送),所以可看作是独立于应用之外,而且是设备和苹果服务器之间的通讯,而非应用的提供商服务器。你的例子里面,腾讯 QQ 的服务器(Provider)会给苹果公司对应的服务器(APNs)发出通知,然后再中转传送到你的设备(Devices)之上。当你接收到通知,打开应用,才开始从腾讯服务器接收数据,跟你之前看到通知里内容一样,但却是经由两个不同的通道而来。

  而 Android,就不同,更像是传统桌面电脑系统做法。每个需要后台推送的应用有各自的单独后台进程,才能和各自的服务器通讯,交换数据。另外其实 Android 也有类似 APNS 的 GCM(Google Cloud Message),属于开发者可选,非强制。
所以你大概看出来区别,iOS 的消息推送机制面世之时是一种全新的解决方案(堪称平台中的平台),应用本身不能有常驻的后台进程,系统的开销少,内存使用更少,电量也更少(把更多的运算和资源开销放在云端,非设备端)。而 Android 的特点,虽然开销大,优点是更稳定快速,但不明显。
著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:郑紫阳
链接:http://www.zhihu.com/question/20667886/answer/15794992
来源:知乎
huanglenzhi
2015-02-13 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517163
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
  iOS 的推送
  iOS 在系统级别有一个推送服务程序使用 5223 端口。使用这个端口的协议源于 Jabber 后来发展为 XMPP ,被用于 Gtalk 等 IM 软件中。

  所以, iOS 的推送,可以不严谨的理解为:
  苹果服务器朝手机后台挂的一个 IM 服务程序发送的消息。
  然后,系统根据该 IM 消息识别告诉哪个 Apps 具体发生了什么事。
  然后,系统分别通知这些 Apps 。

  这个消息的内容是这样的:
  应该说,苹果这种方式在技术上没有什么创新。但是,整个架构是很了不起的。 因为:
  1
  使用久经考验的协议,技术风险小。

  2
  苹果勇于承担责任:
  他需要维护一个代价不小的服务器集群,而且要为服务器的 down 机负责。

  选择低风险的技术方案 Bug 更少,减轻了用户的痛苦,这是构架师的功劳。
  苹果承担责任,尽可能的减少了不可控的意外,保证了用户体验。
  这,只能说是公司决策者的功劳。
  (从侧面说明有个懂技术的 VP 是多重要。。。而 Scott 走人了。。)

  他们带给用户的好处也是实实在在的。
  1 安全。
  只有登录过的开发者可以通过苹果的服务器推送。

  2 快速,稳定,可靠。
  苹果掌控推送服务器和 OS 。

  3 更省电。

  4 让整个系统的体验更统一和简单。
  不会出现杀后台这种脑残事。(不用大量 Apps / Apps 的服务为了推送挂后台)。
  也不会出现 Apps 被杀就收不到推送这种脑残事(早一点的新浪微博 Android 版仍然如此)。

  5 开发容易。
  当然,开发者还是要做些事情,比如维护个服务器什么的: http://www.ifanr.com/3979。但是复杂度无疑降低很多了。

  Android 的推送
  Apps 挂后台一直是 Android 引以为豪的特性(虽然我真的不知道是好处多还是坏处多。。)。。。大家挂后台等待推送就成为技术选择。

  当然, Google 事后也提供类似苹果的推送方式了。倒也谈不上抄袭,毕竟苹果的整个技术实现也没有什么特别创新之处。

  用户的电池?

  Apps 的开发者不会站在系统层面考虑的。他会假设其他 Apps 没有那么“不自觉”。而 Google 不强制的结果就是:没人真正为用户的电池负责。

  但是, Google 的方案也并非全是悲剧:
  也因为整个技术方案非强制, Android 的 Apps 在接收到推送后的表现更为灵活。
  像 Line 的 Android 版本可以在推送通知的 Popup 上直接回复, iOS 就需要越狱才能做到了。

  最后的话
  强制和封闭,有时候并非坏事。他意味着做出这个决定的人,要为此负责。

  所以,如果说苹果的推送方案有何创新?

  我以为是超越技术,不惜让公司承担更多风险和责任的解决方案。(类似的还有 BB 的专用网络, Kindle 的全球 3G )

  个人相信,担负起这些“额外”的责任,是值得的。。。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大河原陈景d1a54
2015-02-13 · TA获得超过3436个赞
知道小有建树答主
回答量:6144
采纳率:0%
帮助的人:976万
展开全部
头扫我像
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式