以毒攻毒:MIUI9 vs 國產APP壓力測試
#聲明:本文的意義在於通過試驗來說明客觀事實,偏向科普,不同的人可以在文中獲取自己需要的知識和信息。文章所用的手段和操作均是為了方便實驗和展示,與內容無關,任何質疑本文存在意義和作用的,一律拉黑。
早前我曾做過實驗,驗證了許多中國軟體商開發的APP會對安卓手機性能造成嚴重破壞(安卓 & 卡頓 & APP)。但由於廣大手機用戶對此並不知情,只會把卡頓、續航短歸咎於手機製造商,所以中國手機製造商紛紛開發自己的定製ROM,通過魔改系統後台限制來對抗這些毒瘤APP對手機的破壞(為什麼部分 iOS 用戶不喜歡用安卓系統?)。而MIUI作為中國最早的深度定製ROM之一,擁有大量對抗毒瘤APP的經驗,那麼在這樣的系統里安裝最流氓的APP會產生怎樣的結果?
本文將使用一台能夠滿足日常使用性能的紅米note2(MT6795),運行最新的MIUI9開發版(採用默認設置),來安裝以下40個應用(APK文件全部下載自官網):MOMO陌陌,手機淘寶,微信,愛奇藝,UC瀏覽器,美團,百度貼吧,迅雷,樂視視頻,百度瀏覽器,騰訊視頻,京東,手機百度,QQ,支付寶,美圖秀秀,網易新聞,百度翻譯,優酷,蜻蜓FM,快手,喜馬拉雅FM,攜程旅行,唯品會,蝦米音樂,微博,什麼值得買,今日頭條,閑魚,酷狗音樂,飛豬,全民K歌,唱吧,鬥魚直播,QQ音樂,酷我音樂,滴滴出行,百度網盤,高德地圖,百度地圖。這些都是可以憑一己之力毀滅手機的毒瘤APP,一起安裝還可以形成交叉喚醒的組合拳,對手機產生極大危害。
以下是MIUI9測試結果。
(為了模擬普通用戶對手機的使用體驗、探明系統的智能程度,測試中將儘可能少地改動系統設置,儘可能少地干預系統行為)
【MIUI耗電測試】
第一次測試是全新安裝的MIUI9在充滿電後連續待機18小時30分鐘的耗電情況,耗電量8%,平均每小時約0.4%,性能出色。
第二次測試是安裝40個應用後,充滿電重啟並連續待機20小時39分鐘的耗電情況,耗電量11%,平均每小時約0.5%,只比安裝前上升了一些,性能出色。
第三次測試是充滿電後手動運行40個應用並放置到後台,連續待機10小時27分鐘的耗電情況,耗電量15%,平均每小時約1.4%,喚醒欄更加密集,耗電量較第二次有大幅度上升。
第一次測試同上。
第二次測試在沒有運行過任何應用的前提下,多出了QQ和微信,因此可以斷定MIUI在代碼里預設了針對這兩個應用採取不限制策略,這是騰訊不接入mipush的妥協解決方案,可見即使是MIUI也沒有完美解決兩個國民級毒瘤IM軟體的推送問題,推測比第一次測試更高的耗電也來源於此。
第三次測試是為了探尋MIUI的全自動省電性能,根據測試結果,MIUI顯然沒能在長時間的待機中終止後台頻繁喚醒的毒瘤。但得益於MIUI較好的後台管理演算法,只有最後打開的幾個APP在運行,被從內存里擠出去的則沒能繼續消耗電力,而還在內存里的APP由於行為受到嚴格控制,也沒能產生不得了的耗電量。綜上,MIUI在長時間待機前清理後台仍然是有必要的。
【MIUI流暢度測試】
當前台(Activity)位於桌面(Launcher)時,無論是剛啟動不久後台只運行了QQ和微信的空載狀態,還是內存里塞滿了毒瘤APP的極限狀態,MIUI都保持了相當高水準的流暢度,使用中沒有任何卡頓,可見小米的優化相當強悍。
【MIUI壓力測試】
https://www.zhihu.com/video/90364943334074777636個毒瘤的連續運行測試通過,雖然到後期稍有卡頓但手機依舊正常運行,對返回桌面等系統操作可以快速響應,卡頓基本只在應用內發生,系統打磨得非常流暢。
為了反映出MIUI對毒瘤的管控能力如何,我給這台紅米note2刷了CM12.1,作為對照組安裝了同樣的40個APP,並進行同樣的待機測試。(MT6795最後的穩定內核停在Android L,沒有更高版本的CM/LineageOS可以刷,官方的MIUI9也停在5.0.2)
【CM耗電測試】
這是安裝毒瘤APP以前的紅米note2(CM12.1),僅安裝了一些系統工具並做了一點個性化,除此之外幾乎是空白狀態。我將其充滿電後開機並放置不管,連續待機約13小時後截圖,具體情況如下:
耗電量2%,平均每小時約0.15%,大幅低於MIUI同為空載狀態下的0.4%;
2d3h的統計時間裡總共喚醒時間僅有4%,最高只有Google Play的15次;
GPU條形圖雖不如MIUI漂亮,但整體的主觀感受十分流暢,沒有卡頓;
日常待機溫度為室溫32°,空餘內存700MB以上。
以下是安裝了40個實驗APP後不做任何限制,充滿電開機並放置不管,連續待機約19小時的截圖:
耗電量86%,平均每小時約4.5%,大幅度超越MIUI第三次測試的1.4%,喚醒欄密密麻麻說明了系統根本沒能進入深度休眠;
在沒有運行過任何應用的前提下,耗電排行里出現了大量實驗用APP,有的甚至超越系統本身佔據榜首;
19h5m的統計時間裡喚醒時間高達60%,共計17個APP領先Google Play,其中最高的達到了驚人的1798次;
綠色守護的應用排查顧問里列出了正在後台運行的第三方進程,列表之長,一個屏幕裝不下。
【CM流暢度測試】
手機雖然沒有陷入無休止的卡頓但已偶有掉幀,屏幕滾動體驗受影響;
經過長時間的待機後空餘內存僅剩255MB,通知欄被大量的廣告填滿;
用綠色守護將所有實驗APP全部休眠後,空餘內存恢復到700MB以上。
如果你看過我早先的實驗,那麼對這樣的結果一定不會意外,安裝中國軟體商開發的毒瘤APP會導致運行原生安卓系統的手機續航能力嚴重受損,而低配置的手機則會陷入令人抓狂的卡頓。許多對手機一無所知的一般中國人,在使用類原生安卓系統的手機(Nexus/Pixel、Xperia)之後很容易得出諸如「谷歌/索尼手機卡頓發熱續航短」的結論,他們並不知道問題的根源在哪,而是把問題全都推給無辜的手機製造商。從這一點來看MIUI在中國惡劣的互聯網環境下非常具有現實意義。
【CM壓力測試】
https://www.zhihu.com/video/908831496851329024運行前四個應用時系統流暢度都尚可接受,但整體一直在以肉眼可見的速度下降,而且還喚醒了大量不相干的應用;當運行到第五個應用時出現了嚴重卡頓,最後甚至停止響應;當運行到第六個應用時已經觸發了內存回收機制,但由於個個毒瘤都有辦法賴在內存里不挪窩,於是系統把視頻錄製進程幹掉了。
【關於後台限制策略】
#寫給閱讀障礙:此處是針對MIUI缺點的單獨評價,與前文屬於平行關係而非欲抑先揚。
由於截圖和錄像都不能很好地展現問題,所以這裡沒有數據只有結論:MIUI的「智能後台限制」實際上相當簡單粗暴,一些在國內不怎麼常見的IM應用例如Telegram、Skype、BBM都會被系統自動限制到無法收到消息。結合之前得出的QQ、微信不限制策略來看,MIUI的後台管控也只是在拆東牆補西牆,管住了毒瘤卻導致正常的APP無法工作。而且自帶白名單這一做法也過於簡單粗暴,如果小米手機用戶安裝了一些(在中國)不那麼大眾但設計規範的APP,天知道MIUI會帶來怎樣的麻煩。
基於上述結論大家可以試試,QQ曾有過大量的安卓客戶端,包括但不限於國際版、輕聊版、日本版、TIM版、HD版、HD mini版……這些非主流的官方客戶端哪一個沒被MIUI記進白名單?
另外,MIUI還會限制廣播接收器——為了便於理解我如此解釋:系統運行中會產生許許多多的事件(廣播),例如BOOT_COMPLETED、DOWNLOAD_COMPLETED、CONNECTIVITY_CHANGE,應用可以告知系統它要訂閱這些事件(註冊廣播接收器),這樣一來一但這件事發生了,系統就會告知應用,以便進行一些快捷操作。例如安卓平台最好的垃圾清理工具SD Maid註冊了PACKAGE_FULLY_REMOVED接收器,一旦手機里的應用被卸載後SD Maid就能立刻啟動卸載殘留清理的服務。
廣播與廣播接收器是安卓提高應用體驗的重要手段,但如果一個應用註冊了幾乎所有系統廣播的接收器,並全部用於啟動後台服務,那麼便適得其反——一旦你碰了手機,毒瘤便有無數個理由啟動自己,無論怎麼殺進程也無濟於事,手機從此告別流暢和長續航。由測試結果來看MIUI深諳此理,因為應用一旦被清理出後台之後就無法再接收廣播:我安裝了MyAndroidTools,開啟了應用安裝完成後立刻彈出設置界面的功能(監聽PACKAGE_ADDED廣播),如果MyAndroidTools被Home鍵收到後台的話可以正常響應,但如果被從後台清理掉以後便無法正常工作。
由此可知,許多基於廣播接收器來方便用戶的正常APP在MIUI上都會產生一定程度的異常。
【總結】
優點:我在知乎用戶:你為什麼喜歡小米?中回答了我對小米的看法,小米手機作為硬體基本不會坑用戶的產品,可以說是個無論如何都錯不了的選擇,再加上對抗國產毒瘤APP性能優秀的MIUI,我認為至少在中國,對於絕大多數手機僅僅只是安裝APP並打開的用戶來說,小米是iPhone以外相當值得的選擇。
缺點:但安卓存在的意義,很大程度上是為了和iOS不同,而MIUI閹割了安卓大量優秀的原生功能和設計、儘可能往iOS靠齊的做法令我非常反感。同時MIUI對開發者和手機玩家也極度不友好,我拿實驗時的一個小插曲舉例:
1)當時為了繞過重複勞動,我打算用adb install批量安裝實驗APP,但卻死活找不到「關於手機」在哪,Google之後才知道居然在我的設備→全部參數里,這個好端端的二級菜單強行改到三級是MIUI第三愚蠢的設計;
2)啟用開發者模式後,打開開發者選項里的開啟USB安裝竟然要求登錄小米賬號,完全無法理解除了徒增麻煩以外還有什麼意義,這是MIUI第二愚蠢的設計;
3)好不容易登錄早就忘記的小米賬號,結果發現每安裝一個應用都要手動在手機上點確認,直接把我從一個重複勞動轉到了另一個重複勞動,毫無疑問這絕對是MIUI最愚蠢的設計,負責這一塊的產品經理應該拉出去斬首示眾;
4)最後Google了半天發現,移除這個限制必須要關閉MIUI優化,重啟才能生效。
由於上述情況,本次實驗中MIUI帶給我的體驗非常糟糕,山寨自iOS且毫無個性的設計、非常過分的用戶隱私收集政策、交互邏輯混亂不堪、以及對玩機手段的大量限制使得MIUI成為iOS以外的另一座圍城,這隻會讓想要與iOS不同、重視個人隱私、期望體驗安卓獨特魅力的用戶感到噁心。
【題外話】
#寫給閱讀障礙:題外話的意思是與本文內容無關,但促成了寫作本文的動機,所以此處用於發表作者的個人情緒,將此處與前文聯繫起來批判我的,一律拉黑。
我不喜歡很多安卓原生黨鼓吹的「安卓指國產定製系統,Android才是名門正統」這一咬文嚼字的區別,因為在手機上打出「安卓」明顯比「Android」要快得多;我同樣也不喜歡很多(注意是很多,不是全部)國產定製UI的擁護者,因為他們喜歡用淺薄的知識來蔑視原生用戶,譬如下面這位:
恕我直言,MIUI這種到處搜集用戶隱私、各種功能被閹割得不像樣子、完全不遵守Material Design的農業重金屬風格UI、交互和設計愚蠢到爆炸的非正常系統,我碰都不想碰,測試做完了立刻刷回CM。
#致所有的噴子、MIUI擁護者:有利討論的永遠是就事論事,分門別類針對觀點進行反駁。聲東擊西、通過其他產品的共有缺點來試圖證明MIUI缺點不是缺點的,一律拉黑。
推薦閱讀:
※搶先看!iPhone 8真機第一手真實測評!
※國產手機廠商崛起神速,手游分發市場的「遊戲規則」還將改寫
※MIUI 是目前最好的安卓定製系統嗎?