国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

談談安卓奇葩的鏈式啟動

2020-07-29 12:34:34郭光園
計算機與網(wǎng)絡 2020年10期
關鍵詞:鏈式安卓后臺

郭光園

近日,一個“照明彈”功能在安卓圈子里掀起了狂風巨浪。MIUI加入了照明彈功能,該功能可以把《安卓》APP在后臺的一舉一動暴露在用戶面前,很多人驚訝地發(fā)現(xiàn),為數(shù)不少的APP竟然會喚醒其他APP。例如只要你開啟《微博》APP,就會喚起《墨跡天氣》《百詞斬》《抖音》《云閃付》等APP,這就是大名鼎鼎的“鏈式啟動”。

大家都知道《安卓》APP很“流氓”,但如此的囂張行為還是第一次明明白白地看清。為什么《安卓》APP會普遍存在奇葩的鏈式啟動?這是國內APP獨有的嗎?下面就來談談這個話題。

鏈式啟動是剛需嗎

鏈式啟動的現(xiàn)象在上面已經(jīng)提到過了,毫無疑問這會給用戶體驗帶來很大的負面影響。在鏈式啟動機制下,開啟一個APP等于開啟多個APP,而這多個APP又會分別再開啟多個APP,簡直是無限套娃,硬件再好的手機,電量和性能也分分鐘被榨得一滴都不剩。

為了對付鏈式啟動,無論是Google的官方安卓,還是各大手機廠商自己的ROM,都做了不少舉措,例如國產(chǎn)ROM很早就開始限制APP相互喚醒,安卓新版限制了不規(guī)范API的調用令鏈式啟動使其難以實施,這次MIUI的“照明彈”也是為限制鏈式啟動所做的努力。

國產(chǎn)ROM很早就開始做鏈式啟動的限制了

可見,鏈式啟動其實非常不受用戶歡迎,而且手機廠商也一直對其深惡痛絕———畢竟這會為手機帶來卡頓、耗電的壞口碑。于是問題來了,為什么APP開發(fā)商會在產(chǎn)品中加入一個如此有個性的特性?這就得從安卓的推送機制說起了。

《安卓》APP想要向用戶推送消息,有2種途徑。

第一種是類似iOS的解決方案,Google為安卓準備了基于Google服務的GCM/FCM推送服務,APP不需要駐留后臺,只需要接入到GCM/FCM中,APP就可以借助Google服務器直接向安卓機推送消息。

第二種是APP自己駐留后臺,連接自己的服務器實現(xiàn)消息推送。

按理來說,第一種方案更省電,而且實現(xiàn)難度更低,畢竟不用花額外精力去實現(xiàn)后臺駐留———安卓會自動清理掉久不活躍的APP后臺,要讓APP進程駐留還是需要花點功夫的。

但偏偏Google服務在國內卻難以正常使用,國行安卓很多都沒有Google服務器框架,第一種方法直接就被抬出了場外。如果留意,可以發(fā)現(xiàn)某些國產(chǎn)APP的國際版和國內版本,使用的是不同的推送機制,例如微信在Google Play商店上的版本會使用GCM/FCM推送消息,而國內版則使用自己的后臺進程推送,就是受此影響。

在國內無法使用CGM/FCM推送的前提下,APP們不得不在后臺駐留進程,保持和服務器的連接、及時接收推送。然而正如前文所說,這一做法也是需要花費更多精力的,而且還存在限制,而鏈式啟動正是為了解決后臺駐留、消息推送的諸多麻煩出現(xiàn)的解決方案。從這個層面來說,鏈式啟動稱得上是國內APP們的剛需。

鏈式啟動如何解決APP推送問題

那么鏈式啟動是如何解決APP后臺駐留和消息推送的問題的呢?我們先來說說APP在后臺駐留進程會遇到的問題。

無論是原生安卓還是第三方定制ROM,都對APP后臺駐留問題采取了越來越嚴格的限制,一個APP想要單獨靠自己駐留后臺,變得越來越困難。過去APP所使用的透明懸浮窗、亂注冊狀態(tài)等手段,都不太好使,硬要駐留后臺的話,分分鐘就被系統(tǒng)揪出來在通知欄掛城墻。

在此情景下,APP們只能抱團取暖了———既然單個APP很難停留在后臺,那么APP之間相互喚起,那就容易多了!開啟一個APP后,就拉起另一個抱團的APP,那大家的進程都激活了,推送服務也就順理成章。

但APP們是怎樣抱團的呢?經(jīng)過觀察不少APP甚至會鏈式喚醒競品APP,這總不能是拉競品APP一把吧,這從商業(yè)的邏輯來看似乎行不太通。其實,絕大部分的鏈式喚醒,都是由于APP們接入了同樣的推送SDK。

APP弄一套自己的推送機制太耗費精力,因此市面上出現(xiàn)了為各個APP解決推送問題的方案。例如開發(fā)者熟知的友盟、極光和個推等,APP一旦接入了這些推送SDK,就會自帶鏈式啟動的特性。兩個風馬牛不相及的APP之所以相互喚醒,就是這個原因。

從體驗方面來說,這些推送SDK的存在,有時候反而會提升用戶體驗。如果沒有這些SDK,每個APP都必須想辦法讓自己的進程一直駐留后臺,幾十上百個APP同時運行手機哪受得了,發(fā)熱卡頓等現(xiàn)象不可避免,分分鐘身體變得好熱、好奇怪;而有了推送SDK實現(xiàn)鏈式啟動,很多APP可以不常駐后臺,打開某個APP時,其他APP才紛紛被喚醒并推送消息,雖然體驗還是不如CGM/FCM推送,也依然會壓榨性能和電量,但總比大家都一直擠在后臺好一些。

除此以外,某些APP產(chǎn)品會有DAU日活量的考核,鏈式啟動也可以幫助提高數(shù)據(jù),因此這機制還是很受某些商業(yè)APP歡迎的。

鏈式啟動是最終解決方案嗎

雖然鏈式啟動很有效,但這也并非是長久之策。

鏈式啟動依然會引發(fā)額外的性能消耗和發(fā)熱,為了實現(xiàn)推送服務這有點得不償失;

系統(tǒng)正對鏈式啟動采取了越來越多的限制措施,例如安卓限制了第三方SDK的使用,不少ROM也可以切斷鏈式啟動的途徑。

要怎么辦?要徹底解決推送的問題,《安卓》APP還是得走由系統(tǒng)進行統(tǒng)一推送這條路。所幸的是,雖然GCM/FCM在國內無法使用,但目前國內已經(jīng)出現(xiàn)了其他替代方案。

MiPush,這是MIUI中系統(tǒng)級別的推送系統(tǒng),只要APP接入了MiPush,那么它就可以利用MIUI的云服務器來推送消息,而無需駐留后臺。但只有在MIUI當中,它才能作為系統(tǒng)級別的推送機制存在,在其他ROM中則和其他第三方推送SDK類似。

統(tǒng)一推送聯(lián)盟。這是由工信部發(fā)起的項目,也是最有希望徹底解決國內APP駐留后臺現(xiàn)象的方案。統(tǒng)一推送聯(lián)盟得到了多家手機廠商的支持,華為、OPPO、vivo、小米、三星、魅族、nubia、百度、阿里巴巴、騰訊、京東和Google等手機廠商、互聯(lián)網(wǎng)企業(yè)都有參與其中。沒錯,連Google也以觀察員的身份加入了聯(lián)盟,這安卓統(tǒng)一推送聯(lián)盟官方背景十足。

得益于官方背書以及廠商們的積極參與,目前很多手機廠商如華為、OPPO、一加、小米、三星和中興等都完成了統(tǒng)一推送聯(lián)盟的適配。在未來,很有可能出現(xiàn)這樣一種情況———國行安卓機的ROM中都會內置統(tǒng)一推送的API,安卓APP們都使用該接口來實現(xiàn)消息推送。這樣一來,絕大多數(shù)的APP都沒有了必須駐留后臺的理由,鏈式啟動走下歷史舞臺指日可待。

簡單來說,鏈式啟動是當前安卓生態(tài)下,不得已而為之的推送機制導致的。雖然看起來喪心病狂,但主要還是因為形勢所迫,國內無法使用GCM/FCM,只有確立系統(tǒng)級別的統(tǒng)一推送標準后,才有可能杜絕鏈式啟動。而在此之前APP們估計一時半會是不會改了,希望統(tǒng)一推送聯(lián)盟能夠早日普及,為鏈式啟動畫上句號。

猜你喜歡
鏈式安卓后臺
文物表情包
后臺暗戀
鏈式STATCOM內部H橋直流側電壓均衡控制策略
黑龍江電力(2017年1期)2017-05-17 04:25:05
一種基于安卓系統(tǒng)的手機側抓包分析方法
前臺、后臺精彩花絮停不了
風采童裝(2016年2期)2016-08-02 09:18:38
鏈式D-STATCOM直流電壓分層協(xié)調控制策略
電測與儀表(2015年4期)2015-04-12 00:43:08
10kV鏈式STATCOM的研究與設計
電測與儀表(2015年4期)2015-04-12 00:43:08
鏈式咨詢看浙江
安卓L未至安卓M來了!安卓首泄漏M系統(tǒng)
電力調度中后臺監(jiān)控系統(tǒng)的應用
河南科技(2014年11期)2014-02-27 14:10:03
成都市| 迭部县| 巴中市| 加查县| 沙坪坝区| 沁阳市| 阳曲县| 湖南省| 文登市| 乌恰县| 阜南县| 墨竹工卡县| 师宗县| 金溪县| 浪卡子县| 台州市| 武城县| 雷波县| 金平| 甘南县| 石阡县| 阿坝县| 远安县| 进贤县| 土默特左旗| 佳木斯市| 吴桥县| 陕西省| 武城县| 逊克县| 海淀区| 洛隆县| 微山县| 曲周县| 永州市| 本溪| 长岭县| 石狮市| 巴林左旗| 乌鲁木齐县| 七台河市|