安卓機為何越用越卡?以小米5為例深入剖析原因

安卓機越用越卡,幾乎成為大眾共識,不少機油因此投入水果機懷抱。當初的安卓旗艦,意氣風發,才一兩年就廉頗老矣,卡頓頻現,不禁讓人感嘆馮唐易老啊!可朋友們手中的iphone為何一直那麼絲滑?今天我們以多個角度分析下安卓機越用越卡的原因!

安卓機為何越用越卡?以小米5為例深入剖析原因

頻頻清理內存,請再絲滑一分鐘

應用文件體量增大。早在安卓2.0時代,一個應用安裝包能超過10M都算是大應用了,用戶點擊圖標打開應用,程序會從閃存中加載資源文件到運行內存裡,文件越少,加載越快。而如今應用文件體量都漲了上百倍,如果程序不常駐內存,每次打開都要從閃存中加載,勢必會降低應用打開速度。

安卓機為何越用越卡?以小米5為例深入剖析原因

應用佔用存儲和運存數據

安卓機為何越用越卡?以小米5為例深入剖析原因

運存佔用越多,就能減少從閃存中加載資源到運存的頻率,從而提高流暢度。部分廠商甚至讓相機等應用常駐運存,以獲得更快的應用打開體驗,可運存資源畢竟有限,應用打開過多,會導致系統層面壓縮運存,之前打開的應用被回收殺死,致使切換應用時卡頓。

安卓機為何越用越卡?以小米5為例深入剖析原因

可以阻止鏈式啟動的自啟動管理

應用市場亂象叢生,搶佔手機硬件資源:幾年前的應用開發市場可謂道高一尺魔高一丈,定製ROM阻止應用自啟動,應用開發商就搞出全家桶互相喚醒等手段,勢必要在你的運存中霸佔那方寸的空間,這種亂象在谷歌退出中國後很難管理。

應用廠商希望應用常駐運行內存,可以實時提供推送等服務(國內沒有統一推送服務)。然後這類應用越來越多,擠佔手機本就不大的運存,必然造成手機卡頓。

國外有谷歌市場(google play)進行管理,不符合規範的應用根本無法上架。而且谷歌提供了統一的推送接口,應用不必自啟動,也能提供精準推送服務。難怪無數機油表示:一定要體驗一次原生安卓啊!

安卓機為何越用越卡?以小米5為例深入剖析原因

Android說:卡頓的鍋我不背...不全背...

運存小:上文提到應用佔用運存越來越多,廠商必然要不斷增大運存,現在的手機都是4G運存起步,旗艦機更是標配6G、8G運存。2016年年初發布的旗艦小米5,僅有3G運行內存,剛發佈時固然是指哪打哪,狠輕很快,但在兩年後的現在,幾個大型應用就讓小米5捉襟見肘開始殺後臺了。

安卓機為何越用越卡?以小米5為例深入剖析原因

捉襟見肘的小米5運存

碎片化降低連續讀取和隨機讀取速度。安卓應用在安裝後,會在系統中創建應用數據文件夾,不斷將緩存數據寫入其中,這些文件一般不會被刪除,音樂類app和拍照類app還將圖片、音樂等資源文件寫入,資源文件甚至能被其他相關app掃描並訪問。這種文件管理策略,會讓閃存中的碎片越來越多,讀取速度逐漸下降。(蘋果的應用資源文件互相隔離,且文件的歸檔壓縮算法更出色)

手機打開應用的速度與閃存讀寫速度關係密切,與閃存隨機讀取速度更是正相關,當手機文件越來越多,碎片化越來越嚴重,應用打開速度自然越來越慢。即便應用打開了,也要進行頁面渲染(繼續加載資源),還是要卡上一段時間。

安卓機為何越用越卡?以小米5為例深入剖析原因

JVM GC圖例,與閃存碎片相似

GPU不參與常規渲染導致掉幀。安卓4.1時谷歌引入了“黃油計劃”,希望藉助GPU強制渲染,提高過度動畫幀率,以提高流暢度。在開發者選項中,可以找到該選項,小米5默認關閉了該選項,是對驍龍820這款soc有著充分的自信。事實上小米5的強制GPU渲染打開與關閉,並感受不到區別,說明這顆芯確實強悍。無奈運行內存成為短板,旗艦U也難為無米之炊。中端機建議打開該選項,例如魅族的部分機型都是默認開啟GPU強制渲染的。

安卓機為何越用越卡?以小米5為例深入剖析原因

開發者選項-GPU強制渲染

隨著軟件的不斷升級和服務的日趨增加,手機應用會不斷的壓榨手機硬件資源,這也倒逼手機廠商持續提升手機的各方面參數,讓消費者換機的頻率不斷提高。

想讓你的安卓機更流暢,要有好的使用習慣,禁止不必要的自啟動。同時建議購買旗艦機型,更大的內存、更優秀的閃存和更好的處理器,理論上也能保持更持久的流暢體驗哦!


分享到:


相關文章: