一文带你读懂 Android 手机为何总是卡顿、死机?
前言
在我們日常生活中,手機已經(jīng)成為我們不可或缺的物品,曾經(jīng)網(wǎng)上有一個搞笑的段子:“現(xiàn)在可以沒有老婆,沒有工作,但是不能沒有手機”; 雖說是搞笑段子,但足以看出手機在人民心中的地位了;然而手機使用一段時間后,我們就會發(fā)現(xiàn)手機會變得十分卡頓甚至死機,安卓手機卡頓的原因一直是大家十分關注的焦點
導致手機慢的原因有哪些?
現(xiàn)在有一種說法,也是一位開發(fā)者所說: “iOS的App中70%的代碼是有用代碼,30%是冗余或廣告代碼;而安卓 App正好相反,70%的是冗余或廣告代碼,只有30%是有用代碼”
為了大家能夠更好理解“冗余(rǒng yú)”,它的含義:多余的、重復或者啰嗦內容(包括信息、語言、代碼等)
5大產生系統(tǒng)垃圾的原因我們簡單的來說下,在使用Android系統(tǒng)時,其實我們也都總結的差不多了,看看下面列舉出來的原因,你是否已經(jīng)發(fā)現(xiàn)了
- 1、Android系統(tǒng)本身的問題,它是開放的系統(tǒng),頻繁的安裝與卸載必然會在手機內積累大量殘留垃圾
- 2、并不是垃圾多的App就一定是垃圾App,像一些門戶網(wǎng)站和一些生活類的App,必然會生產出大量的系統(tǒng)垃圾。比如QQ、微信、視頻、微博這些頻繁使用的應用
- 3、應用開發(fā)商并不是每個都能力優(yōu)秀,優(yōu)化做得不好在使用中當然會產生大量的垃圾文件占用ROM空間,以及這些App在后臺自動啟動占用RAM
- 4、一些不良的應用開發(fā)商會在App中大量植入廣告,因為通過植入廣告他們可以掙到大量的錢財。可以說一個安卓App里面,才出現(xiàn)一兩個廣告的話,那我們就應該很感謝那個開發(fā)商了
- 5、說到廣告的植入,我們會感到很厭惡,但要說到一些大型的App在用戶下載安裝時,同時會要求用戶綁定安裝其他的App,我們又作何感想呢;有時某個App發(fā)現(xiàn)更新,但當用戶更新完畢后,很可能桌面上會多出來一個新的圖標
對于Android這種“無政府”管理的開放體系, 我們消費者還是自己要做出一些明智的選擇;那就是安裝系統(tǒng)清理大師,時不時地清理下手機; 同時渴望下App開發(fā)者們能夠開發(fā)一些“綠色軟件”; 其他的咱們也就不再多說了,我們選擇了Android系統(tǒng),就要多加深入的了解它,呵護自己的手機
Android 卡頓問題
安卓手機一直來都有一個嚴重的問題,那就是卡頓; 特別是長期使用后,手機運行速度大不如前,而蘋果手機卻可以保持長久流暢,這讓不少用戶都感覺到奇怪,畢竟這些年安卓手機的進步還是非常大的,甚至有超越蘋果手機的趨勢,但是手機卡頓這個問題依然沒有解決
不過這也是沒有辦法的事情,要知道谷歌出于種種原因被迫退出中國市場,我們只能采用深度定制化的安卓系統(tǒng),這樣也造成了生態(tài)環(huán)境的問題
Android 系統(tǒng)卡頓原因
1、安卓系統(tǒng)的運行機制導致
安卓系統(tǒng)的應用都是在Java虛擬機上運行的,這和蘋果的機制完全不同,也直接導致了我們在使用手機時積累的垃圾會越來越多,從而拖慢了系統(tǒng); 還有安卓的后臺運行機制也是導致手機卡頓的原因,雖然現(xiàn)在的手機內存越來越大,但本質上并沒有改變,安卓的后臺機制相比蘋果來說還是略微差一些的
2、軟件生態(tài)混亂
由于谷歌商店無法在中國市場使用; 以至于安卓生態(tài)亂象重生,流氓軟件一大堆,各種索要權限、軟件相互喚醒、后臺偷偷自啟和偷跑流量、到處都是廣告,使得安卓的用戶體驗比較差,容易造成手機速度變慢;而蘋果就不一樣了,蘋果的應用商店的軟件都是經(jīng)過嚴格把控和審核的
3、缺乏消息統(tǒng)一推送聯(lián)盟
安卓手機想要及時接收消息,就必須讓APP常駐后臺或者已啟動,而且消息推送往往不夠及時,也就微信QQ幾個常用的社交軟件做得好一些; 由于缺乏統(tǒng)一的推送服務,也會造成安卓手機卡頓、耗電;日前,華為、榮耀、oppo等公司都已經(jīng)加入了安卓統(tǒng)一推送聯(lián)盟,安卓卡頓有望得到改善
APP 卡頓的原因匯總
- 1、人為在UI線程中做輕微耗時操作,導致UI線程卡頓
- 2、布局Layout過于復雜,無法在16ms內完成渲染
- 3、同一時間動畫執(zhí)行的次數(shù)過多,導致CPU或GPU負載過重
- 4、View過度繪制,導致某些像素在同一幀時間內被繪制多次,從而使CPU或GPU負載過重
- 5、View頻繁的觸發(fā)measure、layout,導致measure、layout累計耗時過多及整個View頻繁的重新渲染
- 6、內存頻繁觸發(fā)GC過多(同一幀中頻繁創(chuàng)建內存),導致暫時阻塞渲染操作
- 7、冗余資源及邏輯等導致加載和執(zhí)行緩慢
- 8、臭名昭著的ANR
以上就是安卓APP卡頓的常見原因,此外,作為開發(fā)人員為用戶帶去操作流暢絲滑的APP,是漫長職業(yè)生涯當中的終極目標
好了,文章基本上就到這里,Android 卡頓的原因已經(jīng)分析完畢了!,如有地方不對或者有不同理解的可以提出來
最后我想說:
對于程序員來說,要學習的知識內容、技術有太多太多,要想不被環(huán)境淘汰就只有不斷提升自己,從來都是我們去適應環(huán)境,而不是環(huán)境來適應我們
技術是無止境的,你需要對自己提交的每一行代碼、使用的每一個工具負責,不斷挖掘其底層原理,才能使自己的技術升華到更高的層面
Android 架構師之路還很漫長,與君共勉
PS:有問題歡迎指正,可以在評論區(qū)留下你的建議和感受;
歡迎大家點贊評論,覺得內容可以的話,可以轉發(fā)分享一下
總結
以上是生活随笔為你收集整理的一文带你读懂 Android 手机为何总是卡顿、死机?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FreePBX 安装配置初学记录
- 下一篇: Android动画框架(二)----属性