tft每日頭條

 > 科技

 > 安卓為什麼不能看内存不足

安卓為什麼不能看内存不足

科技 更新时间:2024-11-01 07:03:41

安卓為什麼不能看内存不足(安卓手機總是内存不夠)1

經常用安卓手機的人會感覺到一個問題:不論我的手機的運行内存是512M、1G、2G、3G甚至是4G,隻要手機一打開,然後随便點開一些什麼應用,不一會兒就發現内存就所剩無幾了。

他們這樣思考過:當我的手機内存是1G的時候,我經常玩着玩着内存就隻剩200多M了,那麼是不是意味着我常用的這些App大概就占用了1G-200M=800M的空間呢?如果我的常用App大概占用了800M的空間,那麼,當我換了内存為2G的手機的時候,是不是大概就可以剩餘2G-800M=1.2G的空間呢?他們懷着這樣的憧憬買來2G内存的手機的時候,立馬就懵了,因為根本就不會剩餘1.2G,玩着玩着大概就剩400來M了,哭瞎!!!

所以,很多人就會對安卓手機産生吃内存的印象,而不僅是吃内存,簡直是壕無人性的無底洞吃内存,多大的内存都填不飽似的。想想自己玩電腦的時候,系統占多少内存,每個應用軟件占多少内存就可以直接的計算出來,這些軟件占用的内存都加起來就是總内存消耗量,你啥時候關閉一個軟件,對應的内存嗖的就降下來了,這樣非常好理解,蘋果系統也類似,而安卓系統的内存卻完全不遵守這樣的規律,讓人看不懂。

那麼,到底為什麼會出現這樣的情況呢?你要是直接這樣怒氣沖沖的跑去找谷歌,質問他們設計的系統為什麼這麼吃内存,他們的回答估計會讓你目瞪口呆,因為他們會說:有内存不用,你傻啊?懵了,有木有?完全不懂谷歌的大神們在想什麼。不過不要緊,谷歌的大神們神一樣的語言聽不懂,小編用人類的語言給大家解釋解釋~

首先大家反問一下自己:為什麼我們潛意識裡會覺得内存剩的越多越好?似乎如果平常我們的電腦手機隻消耗了30%-40%的内存代表着我的電腦手機性能強悍,似乎隻有當我還剩了一大半内存的時候,我的手機電腦的運行速度才會快。但事實是這樣的麼?我們現在的設備運行速度的快慢和剩餘内存的大小有關系麼?回答這個問題之前我先來帶大家看一看一個一個普通的電腦程序在運行的過程中到底發生了什麼。

内存的全稱叫内部存儲器,既然有内部存儲器那就肯定有外部存儲器,沒錯,現在電腦的主要外部存儲器就是硬盤。内存和外存(也就是硬盤)的區别是:内存的運行速度非常快,但也非常貴,CPU可以直接讀取内存裡的數據;硬盤的運行速度很慢,但是很便宜,CPU無法直接讀取硬盤裡的數據。我們一般安裝程序是把程序安裝在硬盤裡,點擊程序他開始運行,什麼叫運行?運行一個程序的本質就是要開始調用CPU來處理程序的數據。但是我們的的程序都安裝在硬盤,數據也都在硬盤,前面說了CPU無法直接讀取硬盤的數據,那怎麼辦?那就隻有先把程序運行需要的數據從硬盤加載到内存裡,然後讓CPU從内存裡讀取需要的數據進行處理,處理完了關閉程序之後又把内存的數據都釋放掉,一切如舊。

從上面的過程我們可以看到,影響程序運行速度的有CPU的質量,内存的質量和磁盤的質量,但是和剩餘内存的大小是沒有關系的,隻要我這個程序的數據能夠加載到内存裡,他的運行速度就是一樣的,跟剩餘内存是50%還是20%沒有關系。除非是這樣的情況:你的剩餘内存隻剩下20%了,但是你接下來要運行一個非常大的軟件,它要占用30%的内存,這時候你的内存不夠用了,程序運行不起來了。

說到這裡我們再來回想一下谷歌大神說的話。現在我們知道内存是十分寶貴的,因為它的數據傳輸速度非常快,所以為了提高整個系統的效率,我們是不是應該充分利用内存這種高速通道?你天天讓一大半高速公路閑置着,你是交通部長你開心?你巴不得高速公路一直川流不息,而安卓系統的設計就是用的這種思想:内存閑置在那裡我心疼,這麼高速的通道我們為什麼不用?這就是谷歌大神說“有内存不用,你傻啊”的原因。

安卓系統的程序啟動過程和上面說的電腦程序啟動過程基本相同,但是在内存管理上有很大不一樣。前面說了,電腦的程序隻要一退出之後系統就會立馬把這個程序占用的内存釋放出來,但是安卓系統不這樣,安卓是這麼幹的:如果它檢測到你的内存還充足,那麼我退出程序的時候我不釋放内存裡的數據,為什麼不釋放?因為内存是高速通道,如果我的數據放在内存裡,那麼下一次再啟動這個程序的時候,他就不需要再從硬盤裡讀取數據,而是可以直接從高速的内存裡讀取數據,這樣它再次起動的速度就非常快了,充分利用内存這其實是安卓的一大優勢。

可能很多人也考慮到了,程序關了數據都留在内存不實際把,那麼多數據都留在内存那内存不撐爆了啊?沒錯,内存一般都很小,存不了那麼多的數據,所以安卓系統會設定一個阈值,具體值是多少我不知道,假設是80%,那麼當内存的使用量在80%以下的時候他都會把程序的數據存到内存裡,當内存的使用量超過80%的時候,它的系統就會去回收内存的垃圾了,回收内存的時候他有一個優先級,會先回收掉那些相對不怎麼重要的的内存數據,使得你的内存一直保存在80%這個阈值附近。

所以,這就是為什麼我們經常感覺到安卓手機内存不夠的原因,其實它是夠的,它的内存使用量一直徘徊在80%這個阈值附近并不代表它現在缺内存,因為隻要你說你需要新内存,它分分鐘給你釋放出一堆内存出來。這種内存設計其實是非常先進的,在安卓早期感覺到的安卓卡頓不流暢什麼的也不是因為内存不夠,而是有另外的原因。

所以,以後你再發現你的安卓手機内存“不夠”了,别擔心,也别操心,放心大膽的用吧。

本文為頭條号作者長尾科技原創,未經授權,不得轉載。

長尾科技專注于探索互聯網時代的生存哲學,喜歡就關注我。

更多内容請關注長尾互聯網

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部
夢見屎

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved