本文目錄

一、 iPhone為什么流暢

二、無root,不安卓

三、Google Services Framework和Google Play

四、用WebApp代替原生APP

五、應用的自動凍結和解凍

六、殺掉后臺進程但保留推送通知,禁止應用關聯(lián)啟動

七、更精細的調教

八、期待

不知從什么時候起,網(wǎng)上出現(xiàn)了一種奇怪的論調,說安卓手機用久了,就會越來越慢,而iPhone則會一直保持流暢。大家似乎認為這是一條不需論證的公理,由此推導出iOS優(yōu)于Android的結論(定理)。

在自然科學上,公理是指依據(jù)人類理性的不證自明的基本事實,經(jīng)過人類長期反復實踐的考驗,不需要再加證明的基本命題。

作為多年的Android/iOS雙槍將,從來都是對上述說法表示……嗯,有保留的認可 ?;臼聦嵤?,如果你不了解安卓系統(tǒng)的特點,像用iOS一樣只管傻用而不注意保養(yǎng)的話,安卓手機確實越用越慢,還會變成電老虎、流量狼,特別是當你安裝了大量毫無節(jié)操的國產軟件之后。

使用安卓系統(tǒng)是要比使用iOS多費點心思,但是一旦你對安卓的工作策略有所了解,從而有針對性地對系統(tǒng)進行維護和保養(yǎng)的話,你會發(fā)現(xiàn)這心思花得超值,只要你夠用心,隨便一個安卓千元機都可以做到和iPhone一樣流暢和爽滑,而且操作更方便,使用更可心,功能更強大。

一、iPhone為什么流暢

簡而言之,應用審查機制、消息推送機制、偽后臺。

應用審查機制不多說了,iOS作為一個封閉系統(tǒng),任何應用必須用過蘋果的審查才能在App Store上架,才能夠被安裝到用戶的手機中,所以一些質量較差或者濫用權限的應用根本無法與用戶見面。

所謂的偽后臺(蘋果稱之為智能后臺),就是當你按home鍵將應用放入后臺時,經(jīng)過一段時間的延時后,應用就會被系統(tǒng)暫時關閉,當你再次切換到該軟件時,系統(tǒng)會重新運行該軟件。

iOS平臺其實支持后臺管理,比如蘋果自帶的音樂、APP下載、消息推送和通知系統(tǒng),但是第三方應用幾乎不支持后臺自動運行,除了定位導航、音頻播放等少數(shù)幾個應用場景。如果一個應用沒有必要在后臺一直保持運行,卻通過持續(xù)定位或者播放無聲音頻等特殊手段來保持后臺,這個應用會被蘋果嚴格的審查機制判斷為惡意,遲早面臨被下架的命運。

那么問題來了,不在后臺運行的應用為什么還能接收到推送消息呢?

看圖。

(Provider是指某個iPhone軟件的Push服務器,APNS是Apple Push Notification Service的縮寫,是蘋果的服務器。)

簡而言之,消息服務商(比如騰訊)的推送服務器將消息發(fā)給蘋果的消息服務器,蘋果的服務器查找有相應標識的iPhone,并把消息發(fā)送到iPhone。iPhone再把收到的消息傳遞給相應的應用程序(比如微信),并且按照程序設定彈出Push通知。

iPhone上的消息推送和通知進程是iOS的一部分,一直保持后臺運行,所以第三方應用完全不必保持后臺,而是當iOS的消息推送進程收到消息后再由系統(tǒng)去打開對應的應用。可以說,iOS的消息推送和通知進程就是應用接收通知的代理。

說了一大堆iOS,看起來好像挺完善的,那么為啥安卓不采用這樣的策略呢?

如果你用過Google Nexus手機或者原生Android系統(tǒng),就會明白,其實在國外的Android手機同樣有類似的消息推送機制和應用審查機制,只不過由于眾所周知的原因,這些本來由Google提供的服務,在國內卻無法使用,而且基本上都被手機廠家給閹割了??梢赃@么說,國內的安卓和國外的Android,它們不是一回事。

拉拉雜雜,其實本文的目的,就是把你手中的安卓變成Android,即擁有應用審查機制、消息推送機制,和更靈活的后臺機制,從而讓安卓手機擁有與iPhone一樣的流暢和爽滑。

二、無root,不安卓

實現(xiàn)安卓系統(tǒng)改造的第一步,是解鎖并root你的手機。如果你對root手機有疑慮,請直接略過本節(jié)。

2.1 解鎖和刷第三方recovery

解鎖,就是解除手機的bootloader鎖定。解鎖的目的是刷第三方recovery,刷第三方recovery的目的是root。環(huán)環(huán)相扣,缺一不可。

不同品牌的手機解鎖的步驟不同,對應刷入的第三方recovery也不同,這里無法一言以蔽之,要靠自己去爬論壇找方法。以我使用最長時間的華為手機為例,華為官方提供解鎖服務,每個機型的TWRP recovery可以在花粉俱樂部對應區(qū)塊找到。

相比之下,聯(lián)想的手機則不提供解鎖服務,人為限制了玩家的折騰空間。

2.2 root

Root大家都明白,可總是見到有人說,root了是不是就不安全了。試問,root前,應用的權限完全交由系統(tǒng)管理;root后,應用的權限由系統(tǒng)和使用者共同管理。哪個更安全?

只是, 負責root權限管理的應用還是必須謹慎選擇的。為了安全起見,建議大家最好不要用網(wǎng)上流傳的一鍵root工具,或者刷所謂的root精簡包之類的東西。雖然我本人也做過root精簡包,但正是因為做過,才知道在刷機包里面做些偷雞摸狗的事情是多么地容易。Root還是建議用國外大神Chainfire的SuperSU吧,直接用recovery刷入即可,功能完善,兼容性好,使用放心。

刷SuperSU之前建議大家備份一下手機的/boot分區(qū)和/system分區(qū)。雖然SuperSU已經(jīng)實現(xiàn)了systemless,即不改動系統(tǒng)分區(qū),不影響系統(tǒng)的空中升級,但有備無患。萬一root后碰到系統(tǒng)無法更新的情況:

1. 在第三方recovery中恢復/boot和/system分區(qū)的原始備份

2. 刷入官方的recovery

3. 正常升級。

三、Google Services Framework和Google Play

我之所以長期使用華為手機,一個重要原因是華為手機出廠便內置了Google服務框架,華為應用市場中也提供了“谷歌市場”(即Google Play)可供安裝,使用Google提供的服務非常方便,不需要額外的折騰。雖然華為的EMUI使用起來也有一些不如意的地方,但鑒于這種國際范和開放的態(tài)度確實值得贊賞和支持。

至于其它品牌的國產手機,應該絕大部分沒有內置Google服務框架,需要去刷個open gapp解決。注意下載時先選擇正確的平臺、安卓版本,然后下載相應的pico或者nano包。各個包的區(qū)別就是內置軟件的多少,可參考這里。

完成之后你就可以使用谷歌應用市場下載和安裝應用了。至于如何實現(xiàn)國內網(wǎng)絡與谷歌市場的正常連接,則不在本文的討論范圍,需各位自行Goo……哦,百度 。

問題一,國內辣莫多應用市場不用,為啥偏偏要用這么麻煩的谷歌市場?

答案是,谷歌市場就相當于蘋果的App Store,它由一套嚴格的審查把關機制,各種惡意軟件和濫用權限的應用不會出現(xiàn)在谷歌市場,從而保證你的手機免于被各種流氓騷擾和侵犯。舉個栗子,阿里系的全家桶互相喚醒大家都煩,所以支付寶高德地圖等應用經(jīng)常遭到谷歌市場下架處理(在蘋果App Store也一樣的遭遇),不過放心,阿里這樣的大企業(yè)不會輕易放棄國際市場,用不了幾天就會乖乖地進行改進并重新上架。

問題二,同樣一個應用,在谷歌市場下載和國內市場下載的有區(qū)別嗎?

答案是,有些國內應用有區(qū)別。再舉個栗子,大家喜聞樂見的微信。谷歌市場上的微信支持GCM推送,而國內市場包括微信官網(wǎng)上下載的微信均不支持。至于GCM(Google Cloud Messaging)是個啥,這可是讓安卓流暢省電的重要角色,后文會有詳述。

問題三,谷歌市場上下載的應用是不是版本會比較老?

答案是,國外應用一般在谷歌市場首發(fā),所以版本會是最新。國內應用分兩種,比較重視國際市場的軟件一般會同步發(fā)行,比如微信、支付寶等,不用擔心版本問題。而僅在國內提供服務的應用,要么在谷歌市場更新較慢,要么干脆就沒有。

我們有時會遇到某個應用在谷歌市場上已經(jīng)是最新版本,但打開應用后仍提示需要自我更新。我的原則是,凡是從谷歌市場下載的應用,只要不影響使用,就不要理會自更新提示,反正真正重要的升級一定還會在谷歌市場提供,除非這家服務商徹底放棄了國際市場。

問題四,我需要的應用在谷歌市場上沒有,怎么辦?

答案是,當然在國內市場下載啊。不過應用的下載渠道很重要。我建議的下載渠道優(yōu)先級是:

手機銀行或支付類應用:谷歌市場->銀行或服務商官網(wǎng),堅決不從其它渠道下載。

其它應用:谷歌市場->手機廠家官方應用市場->應用的官方網(wǎng)站->其它渠道。

一般來說,不在谷歌市場里上架而必須從國內市場下載的應用,很多都存在著濫用權限甚至盜竊隱私等問題,是導致安卓手機越用越慢,直至變成電老虎、流量狼的禍根,必須慎重對待,能不用就不用,一定要用的,我們必須采用額外的招數(shù)對付它。

四、用WebApp代替原生APP

安卓用戶都知道,手機應用裝多了,即使不運行,也會影響手機的性能,有很多日常偶爾會用到的應用,到底裝還是不裝,總是讓人糾結。

與其糾結的話,不如嘗試一下WebApp。其實很多網(wǎng)站的WebApp已經(jīng)與客戶端非常接近了,甚至為數(shù)不少的客戶端就是通過內嵌網(wǎng)頁來實現(xiàn)的。比如下面這兩組截圖,你能看出來哪個是WebApp哪個是客戶端嗎?

使用WebApp非常簡單,你只需要有一個支持HTML5的瀏覽器。本人推薦下載Chrome瀏覽器,因為Chrome對HTML5的支持最完善,支持在桌面創(chuàng)建WebApp圖標,支持WebApp的全屏運行。

使用Chrome訪問你需要的手機網(wǎng)站,然后點選菜單->添加到主屏幕,就會在手機界面上生成這個網(wǎng)站的圖標。下次訪問時直接點這個圖標即可,如果網(wǎng)站支持全屏顯示,Chrome瀏覽器的地址欄工具欄等就不會出現(xiàn),你甚至根本不會覺察到這是一個WebApp,和客戶端的體驗沒有區(qū)別。

與傳統(tǒng)手機客戶端相比,WebApp的局限是,不能后臺運行,不同的WebApp之間不具有相互通信的能力。很多情況下這正是我們所需要的。不能后臺就沒有耗電占資源問題,不能互相通信就不會出現(xiàn)關聯(lián)喚醒,所以用起來更省心。

順便提一句,與業(yè)內公認的教科書級WebApp Financial Times 相比,國內的商家無論是頁面設計上還是交互體驗上,都還有很長一段路要走。

五、應用的自動凍結和解凍

當然,WebApp的功能不如客戶端那樣強大,也有大量的網(wǎng)站對手機瀏覽器不友好,WebApp不能解決所有問題,大部分情況下,要想享受完整的服務,還是需要安裝客戶端。

但是,手機中安裝的許多應用使用頻率很低,卻總是自啟或被喚醒,時不時彈出些毫無興趣的推送信息,白白占用緊俏的內存空間,浪費CPU性能。

有沒有什么辦法,可以讓某些應用,在我需要時隨時可用,而我不需要時就徹底消失呢?

有。這里隆重推薦一個非常好用的應用:冰箱 Ice Box 。

冰箱,顧名思義,把你暫時用不上的東西放進去冷凍起來,免得礙手礙腳,等需要的時候,又可以隨手就拿出來。冰箱這個應用的工作原理是,你定義一個應用列表,系統(tǒng)鎖屏時,冰箱自動凍結(禁用)列表中的應用,當你希望使用被凍結的某個應用時,在冰箱界面中點擊該應用圖標,冰箱會自動臨時解凍并啟動該應用,用完后又會自動凍結到冰箱中。

應用界面簡潔清晰,無需過多解釋。

這個程序的優(yōu)秀之處在于,應用的凍結和解凍完全自動化,你可以把冰箱應用作為一個程序文件夾看待,使用簡單而且高效。應用使用完畢后即被凍結,在系統(tǒng)層面就被禁用了,從而完全避免了后臺自啟和喚醒等情況,間接實現(xiàn)了iOS的偽后臺。

過去,我們?yōu)榱藘?yōu)化系統(tǒng)的性能,曾經(jīng)花大力氣精簡系統(tǒng)應用,去除不需要的系統(tǒng)自帶功能?,F(xiàn)在完全不需要了,冰箱這個應用具有凍結系統(tǒng)應用的能力,只要把不太用得著的系統(tǒng)應用凍結起來就好,偶爾用一下也很方便。

更體貼的是,冰箱應用還可以設置啟動密碼,你可以把一些不希望別人看到的應用也放到冰箱里面,等夜深人靜的時候拿出來偷偷享用。

六、殺掉后臺進程但保留推送通知,禁止應用關聯(lián)啟動

冰箱 Ice Box雖然解決了應用霸占后臺問題,但是,應用被冰箱凍結后,也就收不到推送通知了。所以對于一些IM類需要接收通知的應用來說,冰箱那種簡單粗暴的處理方式并不適合。

有沒有一種像iPhone那樣,不讓應用駐留后臺,但是卻能夠接收到推送消息的方法呢?

有。這回要用到綠色守護這枚利器了。

用綠色守護管理后臺應用大家應該都知道,但真正能把綠色守護用好的不多。要想充分發(fā)揮綠色守護的威力,應該使用綠色守護捐贈版 (US$2.99),配合Xposed框架才能達到最佳效果。

Xposed框架和綠色守護的安裝就不羅嗦了,有耐心看到這里的人都應該會吧。

綠色守護捐贈版安裝完成后的配置:

首先把不需要在后臺運行的應用和不需要推送通知的應用加入到綠色化清單。注意系統(tǒng)應用慎用,除非你非常了解該應用的作用。

注意配置中的“為綠色化應用開啟GCM推送”選項。上文提到過,谷歌市場里面的微信應用支持GCM推送,而國內網(wǎng)站下載的微信則不支持。那么GCM到底是個啥?

還記得本文開始提到過蘋果的Apple Push Notification Service嗎?GCM就是Google提供的與蘋果類似的消息推送服務,全稱是Google Cloud Messaging。支持GCM的手機應用,不需要時時保持與消息服務器的網(wǎng)絡連接,甚至不需要在后臺運行,而是通過GCM服務渠道獲取到推送通知。

所以,如果你能保證你的手機隨時保持與Google服務器的連接,你就大膽地把帶有GCM云朵標記的應用綠色化吧,包括微信,它們根本不必在后臺運行,同樣可接收到推送消息,只不過Google服務框架與推送服務器之間的連接有一定的時間間隔,消息推送到手機會有幾秒鐘至幾分鐘的延遲而已。

順便提一下檢查手機與Google服務器連接狀態(tài)的方法:手機撥號盤輸入*#*#426#*#*

在手機端,GCM推送的消息是通過Google Services Framework進程接收的,而Google Services Framework屬于系統(tǒng)進程,優(yōu)先級高于用戶進程,所以你不必擔心由于內存資源緊張,后臺進程被殺掉,而導致接收不到推送消息的情況出現(xiàn)。這是GCM的又一個優(yōu)勢。

可惜的是,在國內廣泛使用的手機應用中,支持GCM的寥寥無幾,常用的也就是微信、iReader、亞馬遜購物、鐵路12306等屈指可數(shù)的幾個而已(從此對12306刮目相看)。而國外的應用,尤其是Google自家的應用,GCM的使用率則非常之高。

下面接著來解決應用間關聯(lián)啟動問題。

不得不再次提到華為的EMUI。在EMUI 4.x中內置的手機管家具有限制應用間關聯(lián)啟動的功能。我們先用手機管家來看看淘寶能被那些關聯(lián)應用啟動吧:

這里面列出的僅僅是我手機里已安裝的應用,并且手機淘寶應用還是Google Play版,可以想象,手機安裝的應用越多,手機淘寶被喚醒的幾率越大。你說我開個導航或者看個VR,你給我在后臺打開手機淘寶干啥?

在華為的手機管家中,只需要禁用對應程序的關聯(lián)喚醒即可。問題是,非華為手機怎么辦?還是綠色守護。

隨時關注一下綠色守護的應用列表,如果發(fā)現(xiàn)有應用標注著“xx:xx前被XX喚醒”的字樣,就說明此應用被其它應用喚醒了。選中被喚醒的應用后,點右上角的剪刀圖標即可切斷喚醒途徑,應用被標注“喚醒途徑已切斷”字樣。如果發(fā)現(xiàn)喚醒途徑被切斷后某些功能受影響,可以選擇“接續(xù)喚醒途徑”恢復應用的初始功能。

七、更精細的調教

使用綠色守護綠色化并且切斷一切喚醒途徑的應用,雖然不會在后臺偷偷運行,但也不能主動接收推送消息了(支持GCM的應用除外)。如果你希望對應用進行更精細的調教,比如在什么條件下可以后臺啟動,對哪一些系統(tǒng)事件做出響應,那么MyAndroidTools這款應用也許能夠滿足你。

MyAndroidTools使用起來比較復雜,需要對Android系統(tǒng)有更深入的了解才能用好。鑒于該軟件門檻較高,本文不再詳細介紹,但強烈推薦有進一步需求的用戶使用。軟件的詳細介紹請移步這里。作者在百度貼吧和自有論壇提供交流空間,還有針對具體應用的優(yōu)化模版可供下載使用。

八、期待

如果你有耐心讀到這里的話,相信你已經(jīng)完全了解如何把手中的安卓手機打造成像iPhone一樣安全、穩(wěn)定、流暢,并且更好用的設備了。

Android系統(tǒng)本身正在快速進化中,從2013年底的KitKat到2016年初的Android N,Google幾乎不到一年就發(fā)布一個大版本,對應用權限的控制越來越嚴格,后臺機制也越來越完善。與此同時,我們更希望國內的各大服務商能夠做到嚴格自律,攜手為凈化國內的安卓運行環(huán)境做出應有的貢獻。

期待不遠的將來,本文所涉及的各種折騰和優(yōu)化方法都將成為歷史。

【結語】

本文由什么值得買網(wǎng)友“首席技術流”撰寫并授權轉載,由于篇幅原因,僅選取了精華的部分進行分享。完整原文可去我站《純干貨!教你如何讓安卓手機像iPhone一樣流暢和爽滑》查看,如果你有更多好物想跟我們分享,歡迎在評論區(qū)與我們互動。

本文著作權歸作者本人和什么值得買共同所有,未經(jīng)許可不得轉載。

1.《谷歌gcm如何使用》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡信息知識,僅代表作者本人觀點,與本網(wǎng)站無關,侵刪請聯(lián)系頁腳下方聯(lián)系方式。

2.《谷歌gcm如何使用》僅供讀者參考,本網(wǎng)站未對該內容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。

3.文章轉載時請保留本站內容來源地址,http://f99ss.com/keji/3238146.html