安卓機越用越慢?不一定!可能是我用手機的姿勢不對
以前自己還沒買智能手機的時候就聽別人抱怨過,說:「安卓機就是這樣,不管買來的時候多好,只要用了一年,就卡的不成樣子,我下次要攢錢買個IOS的」。
也許很多人都有類似的感受,手機為什麼變卡頓了呢?可能是硬體方面老化?特別是CPU那裡。也可能是自己文件應用太多了於是你卸載不必要的app,清理垃圾文件,還是沒用,最後你重刷系統,哦嚯,還是沒用,機器好像老了,找不回當初流暢使用的感覺。那麼為什麼會這樣呢?是現在的硬體太脆弱了,還是我使用的不科學,或者這就是手機廠商的「陰謀」,讓我更新換代去買新的?
蘋果為何致歉?iPhone降速門事件始末
另外,常常聽到有人說:「安卓機用了一兩年就卡頓,我還不如存錢買IOS的」,那麼,安卓的性能為什麼又不如IOS呢?
今天,我們來聊聊手機降速的一點門道。
一、誤區:CPU因為老化會變遲鈍
既然電腦的CPU就像人的心臟,那麼CPU也會像人的心臟一樣,年紀越大越跳不動吧?然而,情況並非這樣,事實上:CPU的速度是恆定的,都是基頻乘以一個比例(Ratio)出來的。基頻是CPU與主板之間同步運行的速度,有時也可以理解為CPU的外頻直接與內存相連通,單位一般是MHz。比例(ratio)是一個「常數」(並不是說所有的cpu都只有一個同樣的ratio,而是一個cpu的ratio是確定的),這兩個因素在生命期都不會變,作為「乘積」的CPU的速度也不會變。
決定CPU的幾個因素,不止是頻率哦
CPU並不會因為使用的時間長了就降頻,以至於運行速度越來越慢。所以,把手機運行速度變慢全部歸咎於CPU是不公平的。
那麼,你雖說CPU是不會老化降速的,但是,我是確確實實的感受到了手機運行速度變慢了,總得有個原因吧。與其說事CPU老化,不如說事cpu和其他一眾硬體不能滿足不斷升級的app的需求了,app升級很容易,wifi一連就升起來了,但硬體就一直擺在那裡沒動。
手機變慢是一定有原因的,我們可以從硬體和軟體方面來解釋。從硬體來說,手機可不是只有CPU一個硬體,還有內存、硬碟等。一個小知識點是:當手機儲存空間或硬碟使用達到一定程度(越70%-80%之中),手機的寫入功能(input)就會大大下降,也就是說,可能有20%—30%的空間你得故意空著,難怪現在人們都要考慮買容量大的手機,容量大就是可以任性啊。
那麼軟體原因呢?這個放在下面。
二、為什麼硬體再大還是卡——安迪比爾定律
Andy gives, Bill takes away.(安迪提供什麼,比爾拿走什麼。)」 安迪指英特爾前CEO安迪·格魯夫,比爾指微軟前任CEO比爾·蓋茨,這句話的意思是,硬體提高的性能,很快被軟體消耗掉了。可能比爾看到安迪提供了那麼大的內存外存,不用白不用,咱們也把軟體性能可勁兒堆疊。軟體硬體就像一對冤家你追我趕,無論如何硬體也甩不掉軟體。軟體總是能適時的吃掉硬體空間。
比如在遊戲上面,有時候你發現,一些遊戲在畫面或程序上沒有多大的進步,但是對內存要求特高,動不動就是8G內存,看來,只有2018年的電腦能帶動2018年的遊戲。
但是,這個定律用到手機上就明顯感覺更貼切了。因為現在智能手機更新換代的時間很短,直到現在,還有一群用戶在用著2G甚至1G內存。然後發現別人手機上帶動的軟體到自己手機上完全帶不動.
除此之外,手機app不斷升級也讓人壓力山大,微信就是最好的例子,自從微信升級幾次之後,我的手機越來越難帶動它了,每次一個更新包,幾次後發現微信就繁重了很多。
三、不和諧的app生態使手機背負壓力.
這幾天一個新聞很矚目,就是歐盟指控谷歌公司涉嫌安卓壟斷,一口氣要了42億歐元的罰款,除了谷歌,還有人提到了蘋果也涉嫌壟斷,一個重要的依據在於他們「軟體捆綁下載安裝」。
一聽到「捆綁安裝」,國內的用戶可能會心一笑,xx全家桶了解一下,xx助手了解一下,貪玩x月了解一下,設置為開機自啟項怎麼樣,篡改瀏覽器主頁怎麼樣,殺毒軟體互相報毒見識過沒?
所以說,有時候軟體層面帶來的阻礙,簡直比CPU掉了半塊還嚴重。
面試安卓,如何保留進程存活都是必考題。國內的付費app不多,那麼保持盈利的方式,最常見的就是廣告曝光了,為了廣告曝光,需要保證日活率,app會常駐後台,進程保活,而且還能互相喚醒。除此之外,app(尤其是全家桶系列)喜歡自啟動,關聯啟動,過多的許可權要求(有很多人和我說,他們有的一些app要求獲得地理位置的許可權,實在不懂那是為什麼)。
四、app的優化堪憂
常常聽人詬病安卓app 的優化不給力,並不說IOS的就一定暢通無阻,但是安卓app的優化的確顯得弱勢。從架構上來說:安卓軟體使用java寫的,設計也是按照Java語言擅長的模式設計的。
安卓系統架構層次主要分為4層,第一層是操作系統和驅動層,第二層是本地框架和運行環境,第三層是安卓應用框架,第四層才是應用程序。筆者我懂一點Java,但是不懂安卓,雖說安卓分層多,javaEE(好像現在改名了,叫做JakartaEE)才是真的分層多,見下圖,tomcat是真的能扛。
上述圖片可能和我們說的「安卓分層」無關,但是能夠直觀的表達「軟體複雜度」這個概念。安卓開源,好處是快速普及,方便商家進入,但缺點是碎片化嚴重且水平參差不齊。而閉源軟體正好相反。
最後重要的一點就是安卓的內存回收機制不一樣。安卓是每個程序都可以用一點,如果不夠用了,停止最先的程序,空出的內存給最新的用。ios的就是退出程序立馬回收內存。
五、一些維護手機速度的建議
1. 硬體方面:保持手機物理方面的安全,保持1天或3天重啟一次。手機剩餘儲存空間在25%左右。
重啟是有好處的,可以內存重新初始化。手機保留剩餘儲存空間也是很有必要的,因為上文提到過,當剩餘儲存空間太小了的時候,系統寫入性能就會大打折扣。
2. 系統方面:不要升級大版本號系統,基本上手機系統升級都是在原有的基礎上進行打補丁,增加代碼,所以不免會增加系統所佔用的手機硬體資源,造成手機運行的負擔,所以手機系統升級引起的第一個最大的問題就是:卡頓!但是系統優化可以升級,因為這個選項是為硬體資源服務的。
3. 後台方面:用一些後台管理工具,比如綠色守護+root+冰箱icebox.
綠色守護幫你找出誰是不守紀律的不斷自啟的費電還佔內存的進程,然後你再把它塞進冰箱icebox里,效果很好。
4. App方面:下載功能多功能品質好的app,最好是綠色純凈的,這個算是最節省的辦法了,舉個例子來說,筆者最近下載了科大訊飛的一個訊飛有聲app,然後卸載了4個app,為啥呢?
所以這就是能夠把文字轉語音工具、聽書網站、新聞資訊三合一的一個產品,下載一個就夠了,另外三個基本就可以被替代了,能剩下很多空間資源。
綜上,我的意思就是,下載多個功能分散的app,不如下載一個功能集成的app,這也是選擇app 的門道,所以現在的app都在擴展功能上面走,還有就是社交化。
5. 懶人方案:買iphone,但這也不是一勞永逸。IOS是很強大,不過即使如此,流水的軟體鐵打的機身,看來以往那種「一生一部諾基亞」的時代已經過去了。