新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 編輯觀點(diǎn) > 你的安卓手機(jī)即將擺脫卡頓的噩夢(mèng)

你的安卓手機(jī)即將擺脫卡頓的噩夢(mèng)

作者:?jiǎn)瘫?/span> 時(shí)間:2017-06-07 來(lái)源:電子產(chǎn)品世界 收藏

  從大學(xué)畢業(yè)之后,周?chē)耐瑢W(xué)和同事不論是月薪過(guò)萬(wàn),還是勉強(qiáng)夠到生活線,都紛紛將手機(jī)換成了“蘋(píng)果”。而一頭蒜都能當(dāng)一盤(pán)菜吃的小編,曾經(jīng)也很不理解,為什么大家不論貧富,都要花大價(jià)錢(qián)將手機(jī)換成“蘋(píng)果”呢?難道真的只是為了“撐門(mén)面”?直到小編用某某同學(xué)的iPhone 5s打了一下午的王者榮耀,然后開(kāi)始陷入了沉沉思索:小編曾用過(guò)多款手機(jī),包括中高端的(借用的),同等配置的手機(jī),為什么的會(huì)越用越卡呢?小編在網(wǎng)上搜索了半天,各種說(shuō)法都有,但是大家不約而同地都提到一個(gè)名叫“服務(wù)”的妖孽。

本文引用地址:http://2s4d.com/article/201706/360186.htm

手機(jī)服務(wù)

  什么是手機(jī)的服務(wù)呢?手機(jī)推送服務(wù)是指服務(wù)器定向?qū)⑿畔?shí)時(shí)送達(dá)手機(jī)的服務(wù),其原理是通過(guò)建立一條手機(jī)與服務(wù)器的連接鏈路,當(dāng)有消息需要發(fā)送到手機(jī)時(shí),通過(guò)此鏈路發(fā)送即可,具體可見(jiàn)圖1。

圖1 推送服務(wù)工作原理圖

  其實(shí),手機(jī)推送服務(wù)還是很必要的,只是因?yàn)槠渲写嬖谝恍├骊P(guān)系而被一些開(kāi)發(fā)者和服務(wù)廠商給用壞了。例如,最早我們使用的功能機(jī)就已經(jīng)具備的未接來(lái)電提醒、短信提醒以及日歷提醒等,都屬于推送服務(wù),但是功能機(jī)并不存在嚴(yán)重的問(wèn)題(如果有,大部分原因也是手機(jī)內(nèi)存等配置比較低的原因)。而進(jìn)入智能機(jī)時(shí)代,大量手機(jī)APP進(jìn)入手機(jī)中,相應(yīng)的問(wèn)題也開(kāi)始困擾大量手機(jī)用戶(hù),當(dāng)手機(jī)主要分為兩大陣營(yíng)——和蘋(píng)果時(shí),我們會(huì)發(fā)現(xiàn),安卓系統(tǒng)相對(duì)于蘋(píng)果系統(tǒng)的手機(jī),問(wèn)題明顯要嚴(yán)重好幾個(gè)檔次。那這又是什么原因呢?

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

輪詢(xún)(Pull)

  應(yīng)用程序(App)不停地向服務(wù)器發(fā)送請(qǐng)求信息,查看是否有新的消息。這就要求手機(jī)必須自己可以實(shí)現(xiàn)與服務(wù)器之間的通信,例如消息排隊(duì)等。同時(shí),如果應(yīng)用這種推送方式,還需要考慮輪詢(xún)的頻率,如果太慢,將會(huì)導(dǎo)致某些消息的延遲,如果太快,又會(huì)大量消耗網(wǎng)絡(luò)帶寬、手機(jī)內(nèi)存以及電池電量。

建立長(zhǎng)連接的推送(Push)

  即在App和服務(wù)器之間建立長(zhǎng)連接通道,通過(guò)這個(gè)通道,App可以向服務(wù)器請(qǐng)求數(shù)據(jù),服務(wù)器也可以向App發(fā)送數(shù)據(jù)。在安卓系統(tǒng)中,如果App被關(guān)閉,App可以啟動(dòng)一個(gè)后臺(tái)服務(wù)來(lái)維持通道繼續(xù)運(yùn)行(很多安卓App開(kāi)發(fā)者正是利用了這一機(jī)制在作文章)。

APNS(Apple Push Notification Service)

  APNS是蘋(píng)果系統(tǒng)用于實(shí)現(xiàn)推送服務(wù)的方式,其實(shí)APNS是一條系統(tǒng)級(jí)別的長(zhǎng)連接通道,通道的一端連接所有的手機(jī)APP,另一端是蘋(píng)果的服務(wù)器。在蘋(píng)果手機(jī)系統(tǒng)中,APP的服務(wù)器如果有消息需要推送,需要先把消息發(fā)送到蘋(píng)果的服務(wù)器上,再利用蘋(píng)果的服務(wù)器通過(guò)長(zhǎng)連接通道發(fā)送到用戶(hù)手機(jī),最后通知具體的APP。即使手機(jī)安裝了多款A(yù)PP,也只通過(guò)一條通道來(lái)發(fā)送推送信息。這就極大地節(jié)省了蘋(píng)果手機(jī)的后臺(tái)資源和耗電量。

GCM(Google Cloud Messaging)

  GSM是谷歌針對(duì)蘋(píng)果的 APNS推送的優(yōu)勢(shì)進(jìn)行的推送機(jī)制的優(yōu)化,其工作機(jī)制基本與APNS類(lèi)似,是為了減少安卓后臺(tái)常駐后臺(tái)的數(shù)量,節(jié)省設(shè)備RAM資源而開(kāi)發(fā)的推送方式,但是由于安卓系統(tǒng)的開(kāi)源特性,GCM 并不具有像APNS 那樣的強(qiáng)制性。

安卓和蘋(píng)果的推送模式對(duì)比

  介紹完幾種推送模式,大家可能大致明白了安卓手機(jī)比蘋(píng)果手機(jī)卡頓的原因了吧。

  其實(shí),安卓手機(jī)是可以不這樣卡頓的,就目前來(lái)看,針對(duì)推送機(jī)制的原因主要有兩點(diǎn)。

  其中一點(diǎn)是,針對(duì)谷歌進(jìn)一步優(yōu)化的GSM推送機(jī)制,國(guó)內(nèi)的安卓用戶(hù)由于一定原因并未能真正用到,即使一些大神級(jí)別的手機(jī)控對(duì)手機(jī)進(jìn)行了特定處理并得以應(yīng)用,也還是很不穩(wěn)定的。更何況,由于安卓系統(tǒng)的開(kāi)源特性,應(yīng)用了這種機(jī)制也并不能完全達(dá)到預(yù)期的效果,很多開(kāi)發(fā)商還是會(huì)通過(guò)針對(duì)性修改底層應(yīng)用程序以達(dá)到“冗余”推送目的。

  另外,最主要的原因還是在于安卓系統(tǒng)是開(kāi)源的,目前還沒(méi)有統(tǒng)一的來(lái)約束開(kāi)發(fā)商進(jìn)行商業(yè)目的開(kāi)發(fā)和推送。即使手機(jī)預(yù)裝了GSM也難以完全遏制這一現(xiàn)象。這也使得360衛(wèi)士、騰訊管家、獵豹清理等清理軟件成為安卓手機(jī)的標(biāo)配軟件,而相繼App則通過(guò)自啟能力、后臺(tái)運(yùn)行、相互喚醒等“異能”使得各種衛(wèi)士的清理功能大打折扣,仍然未能從根本上解決問(wèn)題。

  相比之下,蘋(píng)果的IOS系統(tǒng)則在這方面有著得天獨(dú)厚的的優(yōu)勢(shì),由于系統(tǒng)的封閉性,大部分軟件都是蘋(píng)果自己開(kāi)發(fā)的,即使是開(kāi)發(fā)商另行開(kāi)發(fā)的軟件,也要遵守蘋(píng)果的游戲規(guī)則。另外,IOS系統(tǒng)并不存在后臺(tái)運(yùn)行這一說(shuō)法,打消了軟件開(kāi)發(fā)者見(jiàn)縫插針的念頭。

安卓推送服務(wù)制定

  同樣受夠了安卓系統(tǒng)卡頓帶來(lái)的抓狂的小編得到消息,工信部聯(lián)合眾多手機(jī)廠商要建立安卓手機(jī)統(tǒng)一消息推送啦。有沒(méi)有很激動(dòng)哈?!

  小編了解到,泰爾終端實(shí)驗(yàn)室此前聯(lián)合包括華為、OPPO、vivo、小米、三星、魅族、金立、努比亞、谷歌、百度、阿里巴巴、騰訊、個(gè)推、極光等國(guó)外內(nèi)主要相關(guān)企業(yè)共同制定安卓統(tǒng)一推送服務(wù)技術(shù)標(biāo)準(zhǔn)。工信部旗下泰爾終端實(shí)驗(yàn)室稱(chēng),關(guān)于未來(lái)統(tǒng)一推送的架構(gòu)體系,國(guó)內(nèi)各大廠商以及谷歌專(zhuān)家已經(jīng)達(dá)成一致:

  1)未來(lái)將由終端廠商提供系統(tǒng)級(jí)推送服務(wù)(類(lèi)似APNS的唯一推送通道),確保App的推送消息接收;

  2)不再允許各App在后臺(tái)保留常連接,降低終端能耗、提升用戶(hù)體驗(yàn);

  3)各終端廠商實(shí)現(xiàn)推送通道接口和功能統(tǒng)一,方便開(kāi)發(fā)者接入;

  4)第三方推送服務(wù)商原則上也遵循統(tǒng)一推送的標(biāo)準(zhǔn),保證服務(wù)一致性,降低開(kāi)發(fā)者學(xué)習(xí)成本。

  這一標(biāo)準(zhǔn)可謂是相當(dāng)親民哈,有望改善當(dāng)下安卓手機(jī)出現(xiàn)的卡頓以及各種花樣百出的推送信息滿(mǎn)屏亂跳的尷尬局面。同時(shí),也是建立良好的安卓生態(tài)系統(tǒng)的一個(gè)開(kāi)端。或許,就在不久的將來(lái),安卓手機(jī)將會(huì)迎來(lái)人生的反轉(zhuǎn)!



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉