精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
iOS和Android的后臺推送工作原理各是如何?
應該說,蘋果這種方式在技術上沒有什么創新。但是,整個架構是很了不起的。因為:
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)。個人相信,擔負起這些"額外"的責任,是值得的......只要是為了用戶。

PS:勇于承擔責任的公司也更像個可靠的成年人,而不是一個隨意胡鬧的孩子。

鄭紫陽,表演時不知應該望向邊。
51票,來自周文杰、閑云野鶴、謝浩然更多
iOS系統的推送(APNS,即ApplePushNotificationService)依托一個或幾個系統常駐進程運作,是全局的(接管所有應用的消息推送),所以可看作是獨立于應用之外,而且是設備和蘋果服務器之間的通訊,而非應用的提供商服務器。

你的例子里面,騰訊QQ的服務器(Provider)會給蘋果公司對應的服務器(APNs)發出通知,然后再中轉傳送到你的設備(Devices)之上。當你接收到通知,打開應用,才開始從騰訊服務器接收數據,跟你之前看到通知里內容一樣,但卻是經由兩個不同的通道而來。

而Android就不同,更像是傳統桌面電腦系統做法。每個需要后臺推送的應用有各自的單獨后臺進程,才能和各自的服務器通訊,交換數據。另外其實Android也有類似APNS的GCM(GoogleCloudMessage),屬于開發者可選,非強制。(更多請看本回答評論區里面@BillCheng的補充)

所以你大概看出來區別,iOS的消息推送機制面世之時是一種全新的解決方案(堪稱平臺中的平臺),應用本身不能有常駐的后臺進程,系統的開銷少,內存使用更少,電量也更少(把更多的運算和資源開銷放在云端,非設備端)。而Android的特點,雖然開銷大,優點是更穩定快速,但不明顯。

更多請閱開發文檔:ApplePushNotificationService(APNs)|
這就是APNs的邏輯所在:iOS自己做個長駐后臺保持連接。所有應用,有必要(申請)并且被允許(用戶可以改設置)的話,可以通過APNs中轉到達用戶。這樣就完善了!

有可能很多人沒有真正地體會到iOS不允許后臺應用的好處。我是Android開發人員,Android手機上一般只保留幾個常用的應用,不常用就卸載。但是我的iPhone/iPad上則是,除非空間不足,一般不會刪除應用。

Android就像Windows,你要真的很費心去維護:有軟件在干背后干壞事么?設備又給拖慢了,要清理。要考慮殺毒了......

Android因為后臺可以長駐,尤其是國內的Android的手機上Google自家的推送服務GCM處于基本不可用的狀態。所以,各App各顯神通。聊天類應用的話,大多數直接借用XMPP規范里的一些成果。少量如微信有IM底子的,自己開發協議。這些在實現原理上與APNs/GCM沒有本質的區別,但有一定的技術門檻。而大多數普遍應用,要使用推送的話,則使用輪詢的方式簡單實現。

其實,國外如UrbanAirship自己實現了Android上的第三方提供的推送平臺。近期國內如極光推送也實現了第三方的推送平臺(技術與微信、GCM、APNs類似)。理論上,如果一個Android設備上多款應用都使用極光推送這種第三方推送平臺的話,也可以如APNs一樣達到節省電量、流量消耗的效果。


 
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Android 手機越用越卡?我們可能真的錯怪它了
Android與iOS系統的消息推送機制
純干貨!教你如何讓安卓手機像iPhone一樣流暢和爽滑
谷歌Play功能強大到難以想象,可惜國內安卓手機用不了
認識MQTT通信協議
Android終極調教指南:綠色守護的實現原理與超詳細設置
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 渝北区| 拜城县| 博客| 西盟| 游戏| 龙山县| 永丰县| 吉安市| 临汾市| 定襄县| 清水县| 建阳市| 广河县| 龙海市| 清苑县| 肥城市| 石柱| 宿州市| 桑日县| 将乐县| 白河县| 吉林省| 云安县| 富蕴县| 皮山县| 榆社县| 普宁市| 乐至县| 囊谦县| 武强县| 响水县| 阳春市| 南投市| 苏尼特左旗| 喜德县| 西乡县| 疏附县| 本溪| 克东县| 奉新县| 东港市|