華文網

你的安卓手機即將擺脫卡頓的噩夢

從大學畢業之後,周圍的同學和同事不論是月薪過萬,還是勉強夠到生活線,都紛紛將手機換成了“蘋果”。而一頭蒜都能當一盤菜吃的小編,曾經也很不理解,為什麼大家不論貧富,

都要花大價錢將手機換成“蘋果”呢?難道真的只是為了“撐門面”(嗯,這應該也是一個原因)?直到小編用某某同學的iPhone 5s打了一下午的王者榮耀,然後開始陷入了沉沉思索:小編曾用過多款安卓手機,包括中高端的(借用的),同等配置的手機,為什麼安卓的會越用越卡呢?小編在網上搜索了半天,各種說法都有,但是大家不約而同地都提到一個名叫“推送服務”的妖孽。

手機推送服務

什麼是手機的推送服務呢?手機推送服務是指伺服器定向將資訊即時送達手機的服務,其原理是通過建立一條手機與伺服器的連接鏈路,當有消息需要發送到手機時,通過此鏈路發送即可,具體可見圖1。

圖1 推送服務工作原理圖

其實,手機推送服務還是很必要的,

只是因為其中存在一些利益關係而被部分開發者和服務廠商給用壞了。例如,最早我們使用的功能機就已經具備的未接來電提醒、短信提醒以及日曆提醒等,都屬於推送服務,但是功能機並不存在嚴重的卡頓問題(如果有,大部分原因也是手機記憶體等配置比較低的原因)。而進入智慧機時代,大量手機APP進入手機中,相應的卡頓問題也開始困擾大量手機用戶,
當手機主要分為兩大陣營——安卓和蘋果時,我們會發現,安卓系統相對於蘋果的IOS系統,卡頓問題明顯要嚴重好幾個檔次。那這又是什麼原因呢?

介紹原因之前,小編先為大家介紹幾種手機推送方式。

輪詢(Pull)

應用程式(App)不停地向伺服器發送請求資訊,查看是否有新的消息。這就要求手機必須自己可以實現與伺服器之間的通信,例如消息排隊等。同時,如果應用這種推送方式,

還需要考慮輪詢的頻率,如果太慢,將會導致某些消息的延遲,如果太快,又會大量消耗網路頻寬、手機記憶體以及電池電量等資源。

建立長連接的推送(Push)

即在App和伺服器之間建立長連接通道,通過這個通道,App可以向伺服器請求資料,伺服器也可以向App發送資料。在安卓系統中,如果App被關閉,App可以啟動一個後臺服務來維持通道的繼續運行(很多安卓App開發者正是利用了這一機制在作文章)。

APNS(Apple Push Notification Service)

APNS是蘋果系統用於實現推送服務的方式,其實APNS是一條系統級別的長連接通道,通道的一端連接所有的手機APP,另一端是蘋果的伺服器。在蘋果手機系統中,APP的伺服器如果有消息需要推送,需要先把消息發送到蘋果的伺服器上,再利用蘋果的伺服器通過長連接通道發送到用戶手機,最後通知具體的APP。即使手機安裝了多款APP,也只通過一條通道來發送推送資訊。這就極大地節省了蘋果手機的後臺資源和耗電量。

GCM(Google Cloud Messaging)

GSM是穀歌針對蘋果的 APNS推送的優勢進行的推送機制的優化改造,其工作機制基本上與APNS類似,是為了減少安卓後臺常駐後臺的數量,節省設備RAM資源而開發的推送方式,但是由於安卓系統的開源特性,GCM 並不具有像APNS 那樣的強制性。

安卓和蘋果的推送模式對比

介紹完幾種推送模式,大家應該大致明白了安卓手機比蘋果手機卡頓的原因了吧。

其實,安卓手機是可以不這樣卡頓的,就目前來看,針對推送機制的原因主要有兩點。

其中一點是,針對穀歌進一步優化的GSM推送機制,國內的安卓用戶由於一定原因並未能真正用到,即使一些大神級別的手機控對手機進行了特定處理得以應用,也還是很不穩定的。更何況,由於安卓系統的開源特性,應用了這種機制也並不能完全達到預期的效果,很多開發商還是會通過針對性修改底層應用程式以達到“冗餘”推送目的。

另外,最主要的原因還是在於安卓系統是開源的,目前還沒有統一的標準來約束開發商進行商業目的開發和推送。即使手機預裝了GSM,也難以完全遏制這一現象。這也使得360衛士、騰訊管家、獵豹清理等清理軟體成為安卓手機的標配軟體,而相繼App則通過自啟能力、後臺運行、相互喚醒等“異能”使得各種衛士的清理功能大打折扣,仍然未能從根本上解決問題。

相比之下,蘋果的IOS系統則在這方面有著得天獨厚的的優勢,由於系統的封閉性,大部分軟體都是蘋果自己開發的,即使是開發商另行開發的軟體,也要遵守蘋果的遊戲規則。另外,IOS系統並不存在後臺運行這一說法,打消了軟體發展者見縫插針的念頭。

安卓推送服務標準制定

同樣受夠了安卓系統卡頓帶來的抓狂的小編得到消息,工信部聯合眾多手機廠商要建立安卓手機統一消息推送標準啦~~~有沒有很激動哈?!

小編瞭解到,泰爾終端實驗室此前聯合包括華為、OPPO、vivo、小米、三星、魅族、金立、努比亞、穀歌、百度、阿裡巴巴、騰訊、個推、極光等國外內主要相關企業共同制定安卓統一推送服務技術標準。工信部旗下泰爾終端實驗室稱,關於未來統一推送的架構體系,國內各大廠商以及谷歌專家已經達成一致:

1)未來將由終端廠商提供系統級推送服務(類似APNS的唯一推送通道),確保App的推送消息接收;

2)不再允許各App在後臺保留常連接,降低終端能耗、提升使用者體驗;

3)各終端廠商實現推送通道介面和功能統一,方便開發者接入;

4)協力廠商推送服務商原則上也遵循統一推送的標準,保證服務一致性,降低開發者學習成本。

這一標準可謂是相當親民哈,有望改善當下安卓手機出現的卡頓以及各種花樣百出的推送資訊滿屏亂跳的尷尬局面。同時,也是建立良好的安卓生態系統的一個開端。或許,就在不久的將來,安卓手機將會迎來人生的大反轉!

這就極大地節省了蘋果手機的後臺資源和耗電量。

GCM(Google Cloud Messaging)

GSM是穀歌針對蘋果的 APNS推送的優勢進行的推送機制的優化改造,其工作機制基本上與APNS類似,是為了減少安卓後臺常駐後臺的數量,節省設備RAM資源而開發的推送方式,但是由於安卓系統的開源特性,GCM 並不具有像APNS 那樣的強制性。

安卓和蘋果的推送模式對比

介紹完幾種推送模式,大家應該大致明白了安卓手機比蘋果手機卡頓的原因了吧。

其實,安卓手機是可以不這樣卡頓的,就目前來看,針對推送機制的原因主要有兩點。

其中一點是,針對穀歌進一步優化的GSM推送機制,國內的安卓用戶由於一定原因並未能真正用到,即使一些大神級別的手機控對手機進行了特定處理得以應用,也還是很不穩定的。更何況,由於安卓系統的開源特性,應用了這種機制也並不能完全達到預期的效果,很多開發商還是會通過針對性修改底層應用程式以達到“冗餘”推送目的。

另外,最主要的原因還是在於安卓系統是開源的,目前還沒有統一的標準來約束開發商進行商業目的開發和推送。即使手機預裝了GSM,也難以完全遏制這一現象。這也使得360衛士、騰訊管家、獵豹清理等清理軟體成為安卓手機的標配軟體,而相繼App則通過自啟能力、後臺運行、相互喚醒等“異能”使得各種衛士的清理功能大打折扣,仍然未能從根本上解決問題。

相比之下,蘋果的IOS系統則在這方面有著得天獨厚的的優勢,由於系統的封閉性,大部分軟體都是蘋果自己開發的,即使是開發商另行開發的軟體,也要遵守蘋果的遊戲規則。另外,IOS系統並不存在後臺運行這一說法,打消了軟體發展者見縫插針的念頭。

安卓推送服務標準制定

同樣受夠了安卓系統卡頓帶來的抓狂的小編得到消息,工信部聯合眾多手機廠商要建立安卓手機統一消息推送標準啦~~~有沒有很激動哈?!

小編瞭解到,泰爾終端實驗室此前聯合包括華為、OPPO、vivo、小米、三星、魅族、金立、努比亞、穀歌、百度、阿裡巴巴、騰訊、個推、極光等國外內主要相關企業共同制定安卓統一推送服務技術標準。工信部旗下泰爾終端實驗室稱,關於未來統一推送的架構體系,國內各大廠商以及谷歌專家已經達成一致:

1)未來將由終端廠商提供系統級推送服務(類似APNS的唯一推送通道),確保App的推送消息接收;

2)不再允許各App在後臺保留常連接,降低終端能耗、提升使用者體驗;

3)各終端廠商實現推送通道介面和功能統一,方便開發者接入;

4)協力廠商推送服務商原則上也遵循統一推送的標準,保證服務一致性,降低開發者學習成本。

這一標準可謂是相當親民哈,有望改善當下安卓手機出現的卡頓以及各種花樣百出的推送資訊滿屏亂跳的尷尬局面。同時,也是建立良好的安卓生態系統的一個開端。或許,就在不久的將來,安卓手機將會迎來人生的大反轉!