小編在今年1月曾簡(jiǎn)單介紹過(guò)手機為啥越用越卡的原因,只是當時(shí)是以蘋(píng)果降速門(mén)為切入點(diǎn),并沒(méi)有說(shuō)透。今天,就讓咱們聚焦Android手機領(lǐng)域,從硬件、系統和軟件三個(gè)方面分析安卓手機為啥容易出現“越用越慢”的尷尬問(wèn)題吧。 硬件端引起的降速 手機內部的處理器、內存和閃存等硬件單元都是通過(guò)不同類(lèi)型的半導體和導體互聯(lián)而成,長(cháng)期使用就必然出現物理老化現象。比如,無(wú)論手機采用的是eMMC5.1還是UFS2.1,但這些存儲單元的本質(zhì)還是NAND閃存,存在MLC和TLC混用的情況。其中,MLC的性能和可靠性由于TLC,但隨著(zhù)使用時(shí)間的增加,哪怕是MLC閃存也存在降速的問(wèn)題(可參考電腦領(lǐng)域SSD的降速)。硬盤(pán)性能驟降,系統自然沒(méi)有以前流暢了,這是所有電腦用戶(hù)都懂的道理。 此外,還有很多硬件單元如果封裝不好就會(huì )造成氧化現象,而手機不小心的磕碰跌落也有可能導致部分器件的損壞,雖然不影響使用但卻容易引起相應的驅動(dòng)以及上層服務(wù)工作異常,而觸點(diǎn)老化也易導致手機能耗提升,發(fā)熱后觸發(fā)CPU降頻而導致系統變慢。 還好,硬件端引起的降速卡頓問(wèn)題屬于極為小眾的現象,而我們遭遇的絕大多數手機變慢,則都是系統和軟件端引發(fā)的“悲劇”。 手機卡頓的“三宗罪” 很多手機配置相同,但流暢度卻有著(zhù)較大的差距!翱D感”則是手機不流暢的表現形式,而這一現象則可被細分為3個(gè)層面,導致它們變卡的原因需要具體問(wèn)題具體分析。 第1層:?jiǎn)?dòng)器卡頓 除了谷歌自主品牌Nexus和Pixel以外,幾乎所有的Android手機品牌(特別是國產(chǎn)手機)都不會(huì )采用原生的Android系統,而是主打類(lèi)似MIUI、EMUI、Flyme、ColorOS、Smartisan OS等自主系統,并號稱(chēng)是由Android x.x版系統深度優(yōu)化而來(lái)。 實(shí)際上,說(shuō)它們是“系統”有失偏頗,它們都是在原生Android的基礎上修修補補,比如精簡(jiǎn)谷歌服務(wù)、加入自家服務(wù)(如應用商店、云服務(wù)、郵箱)和第三方APP、廣告等,并改變系統UI風(fēng)格。行業(yè)內對它們有一個(gè)專(zhuān)屬名詞——啟動(dòng)器Launcher。 在絕大多數情況下,手機卡頓的表現就是Launcher變卡,也就是桌面滑動(dòng)不流暢、下拉菜單時(shí)有延遲、進(jìn)入系統設置功能切換時(shí)總會(huì )慢一拍等等。 這個(gè)層面的卡頓,通常取決于處理器的單核性能,這就讓包含Cortex-A73/A72架構的處理器(如麒麟970/960、驍龍835/820/660),要比純Cortex-A53架構處理器(如驍龍625/630、Helio P20/P23/P30)更有優(yōu)勢。 但是,哪怕是Helio P10、驍龍435這個(gè)級別的入門(mén)處理器,在排除第三方APP干擾時(shí)其性能也足以確保Launcher層面的流暢。如果你新買(mǎi)的手機存在Launcher層面的卡頓,那只能說(shuō)明這個(gè)手機廠(chǎng)商系統研發(fā)團隊的實(shí)力太遜了。彌補的方案只有更換第三方Launcher,比如Nova啟動(dòng)器、ADW啟動(dòng)器、Holo啟動(dòng)器等(又稱(chēng)XX桌面),看看能否提升操作流暢度了。 第2層:APP啟動(dòng)卡頓 智能手機的功能體現在安裝的無(wú)數APP身上,但是從我們點(diǎn)擊桌面圖標到進(jìn)入這個(gè)APP界面的時(shí)間卻長(cháng)短不一,耗時(shí)長(cháng)的手機給人感覺(jué)自然也是系統變卡了。 這個(gè)層面的卡頓涉及到閃存性能(比如UFS2.1>UFS2.0>eMMC5.x>eMMC4.x)、內存帶寬(LPDDR4X>LPDDR4>LPDDR3,高端處理器普遍支持四通道內存,而入門(mén)級處理器僅支持單通道)、系統文件系統優(yōu)化(是否采用SDcardfs文件系統)。一般來(lái)說(shuō),配置越強的手機,啟動(dòng)APP的時(shí)間耗時(shí)就越短,軟件優(yōu)化很難彌補硬實(shí)力的欠缺。 此外,更大內存的手機在A(yíng)PP啟動(dòng)中也會(huì )起到點(diǎn)睛作用。更大內存可以同時(shí)駐留更多APP,從而實(shí)現APP之間的“秒切換”。而內存容量較低,駐留后臺的部分APP很容易被內存管理機制而清理,想切換回這些APP時(shí)就等同于重新啟動(dòng),速度自然不如從內存中直接調取迅速。 第3層:APP運行卡頓 引發(fā)這個(gè)層面卡頓的原因有很多,先來(lái)看看硬件層面。如今APP都對多核進(jìn)行了優(yōu)化,所以核心數量越多,性能越強的處理器,自然可以降低因CPU性能不足而引起的卡頓風(fēng)險。對3D游戲而言,手機屏幕的分辨率,處理器集成GPU的性能則是更關(guān)鍵的指標,分辨率越低對渲染的要求就越低,GPU越強就能跑出更高的幀數。 魅藍S6搭載的Exynos 7872集成的GPU型號是Mali-G71MP1,但它在玩《王者榮耀》時(shí)的幀數卻不遜于很多高端手機,原因就是魅藍S6屏幕分辨率只有HD+(1440×720像素),GPU的渲染壓力遠不如中高端手機配備的FHD+(2160×1080像素)屏幕。 然后就是系統和軟件層面的匹配優(yōu)化了。還是以玩《王者榮耀》為例,OPPO R11/R15的體驗要比其他搭載驍龍660甚至驍龍835的手機還要流暢,可以始終穩定在60fps左右。但在玩《崩壞3》等游戲時(shí),驍龍835處理器機器的流暢度則可超過(guò)OPPO R11/R15。這就是手機廠(chǎng)商和APP廠(chǎng)商是否聯(lián)合優(yōu)化的神奇之處。 此外,當手機發(fā)熱量達到某個(gè)閾值后就會(huì )出現降頻,如果你玩著(zhù)玩著(zhù)游戲突然卡頓,很有可能就是CPU/GPU降頻引起的,冷卻后再玩就能恢復正常。由于手機充電時(shí)會(huì )導致發(fā)熱量增加,所以充電玩游戲會(huì )顯著(zhù)增加降頻卡頓的幾率。因此,大家在挑選高端Android手機時(shí),發(fā)熱量的高低也應納入重點(diǎn)考核的項目中來(lái)。 手機越用越卡是化學(xué)反應 以上是新機之間流暢度和卡頓感的來(lái)源分析,但現實(shí)中最令我們感到困惑的,則是手機新買(mǎi)時(shí)操作流暢,但隨著(zhù)系統升級或使用時(shí)間的增加卻越來(lái)越慢。就舊手機越用越卡的問(wèn)題,卻是一種更為復雜的“化學(xué)反應”。 辨別系統負優(yōu)化的方法 蘋(píng)果通過(guò)系統更新降低舊iPhone的運行速度已被證明屬實(shí),舊iPhone在更換電池且iOS系統降級后大都就能恢復流暢。所以,iPhone的“降速門(mén)”才被大家認為是蘋(píng)果的陰謀:通過(guò)讓舊iPhone越用越卡,來(lái)迫使用戶(hù)更換新機。 根據谷歌每次系統更新的說(shuō)明,從Android 4.x到Android 8.x,每一次大的版本升級都在主打更流暢的體驗,理論上系統更新只會(huì )讓系統越來(lái)越快。 所以,Android手機是否存在“降速門(mén)”的嫌疑其實(shí)也很好排除:升級到新系統后進(jìn)行雙清(也就是恢復出廠(chǎng)設置,這個(gè)操作不會(huì )降低系統版本,只是清除安裝第三方APP和個(gè)人設置可能引發(fā)降速的嫌疑)。再與降級到舊固件+雙清后的手機進(jìn)行對比,如果前者系統流暢度不如后者,那就可以斷定該手機的確在新系統中進(jìn)行了“負優(yōu)化”。 但現實(shí)中,不僅限于個(gè)別品牌,絕大多數品牌手機哪怕從未進(jìn)行過(guò)系統升級,卻依舊遇到了手機越用越慢的情況。但是,這個(gè)“鍋”在絕大多數情況下都要由個(gè)人使用習慣和第三方APP來(lái)背了。 混亂生態(tài)的必然結局 如果大家經(jīng)常在Google Play Store下載國外應用,會(huì )發(fā)現這些APP大都是“小而美”的存在,一款APP就主打某項功能。反觀(guān)國產(chǎn)APP,普遍追求“大而全”,很多應用都是集新聞推送、添加好友、看視頻、發(fā)彈幕、購物等無(wú)所不包。 體量越來(lái)越大的APP,對老款手機的硬件壓力也是越來(lái)越大,比如微信早期版本安裝后可能只占150MB空間、200MB內存,但如今最新版微信運行一段時(shí)間后卻會(huì )占用數GB空間和和600MB內存。 換句話(huà)說(shuō),1年前你的手機可以流暢地同時(shí)運行4款APP,如今再同時(shí)運行這4款APP的最新版,也許就會(huì )出現因內存不足而引起的卡頓問(wèn)題了。 此外,Android手機用戶(hù)肯定還遇到過(guò)一個(gè)問(wèn)題,剛清理完后臺程序,沒(méi)一會(huì )就收到了今日頭條的突發(fā)新聞、淘寶某店鋪的促銷(xiāo)廣告、懶人聽(tīng)書(shū)的書(shū)籍更新、某銀行APP的最新理財消息……問(wèn)題是,我一直在玩微信,壓根兒就沒(méi)主動(dòng)啟動(dòng)過(guò)這些APP! 沒(méi)辦法,APP廠(chǎng)商都是要盈利的,所以它們幾乎都集成消息推送功能,需要將相關(guān)消息推送給更多用戶(hù)才能完成KPI指標。關(guān)于消息推送,蘋(píng)果iOS的做法是:當APP關(guān)閉后,仍然可以走官方指定用來(lái)接收/推送消息的通道,流程清晰,安全環(huán)保。這就好像傳達室,APP想要將“外賣(mài)”(推送消息)發(fā)給某個(gè)用戶(hù),需要將“外賣(mài)”交給傳達室,然后統一由傳達室分配給指定用戶(hù),外人根本進(jìn)不來(lái)(APP無(wú)法自啟耗電)。 谷歌其實(shí)也為Android準備了類(lèi)似傳達室的機制,可惜在國內谷歌服務(wù)功能受限,軟件廠(chǎng)商要想在A(yíng)PP關(guān)閉時(shí)還能推送消息,就必須走上第三方推送消息的渠道。 比如,某APP原本是選擇百度外賣(mài)的小哥配送,哪怕你不允許百度外賣(mài)上門(mén),但這個(gè)小哥卻可以轉交給美團或餓了么的小哥順道配送(關(guān)聯(lián)喚醒)……你總不能禁止所有外賣(mài)小哥吧?于是,隨便上門(mén)的外賣(mài)小哥越拉越多,根本管不過(guò)來(lái)。 換句話(huà)說(shuō),當我們打開(kāi)A應用時(shí),它就會(huì )額外開(kāi)啟一條進(jìn)程,目的是幫忙喚醒應用B;而應用B被喚醒時(shí)也會(huì )額外開(kāi)啟一條進(jìn)程,原因是應用C提前找過(guò)它要借它的通道發(fā)個(gè)廣告,當KPI達標時(shí)是有報酬的……因此,Android系統的APP通常是你中有我,我中有你,而手機寶貴的內存資源就是這么一點(diǎn)一點(diǎn)被消耗的,隨之而來(lái)的還有額外的耗電、發(fā)熱增加、降頻、以至于出現卡頓現象。 用戶(hù)習慣可以“延緩衰老” Android手機越用越慢的主要原因,普遍是越發(fā)臃腫的APP(又稱(chēng)全家桶),以及各種關(guān)聯(lián)喚醒和常駐內存的資源消耗。當你禁止不常用APP的通知、自啟動(dòng)和關(guān)聯(lián)喚醒權限,你會(huì )發(fā)現系統的流暢度能有一個(gè)明顯的提升。因此,所有能熟練使用綠色守護和黑域等APP的手機玩家,真的不覺(jué)得老款手機有多卡;如果你用的是水貨版本手機,只通過(guò)谷歌商店下載APP,時(shí)間久了你也不會(huì )覺(jué)得系統有多慢。 總之,只要你的手機處理器性能達到了驍龍450/聯(lián)發(fā)科Helio P23/麒麟650級別、內存容量大于3GB、閃存版本高于eMMC5.1,在硬件層面就已具備不會(huì )卡頓的基因。如此配置的新機如果剛買(mǎi)來(lái)就卡,那就建議大家果斷“棄坑”,這個(gè)廠(chǎng)家的研發(fā)優(yōu)化實(shí)力“沒(méi)法玩”;如果是買(mǎi)來(lái)一段時(shí)間后變卡了咋整? |