Android 記憶體管理機制

2021-07-02 12:39:03 字數 1751 閱讀 4449

無意中在miui看到的文章,感覺不錯,轉了過來。

原文如下:

這種設計本來就是乙個非常好的設計,下次啟動程式時,會更快,因為不需要讀取介面資源。

android系統這樣的設計不僅非常適合移動終端的需要,而且減少了系統崩潰的可能,確保了系統的穩定性。老想著清理記憶體的同學完全是因為被塞班或者windows毒害太深,事實上,經常用taskiller之類的軟體關閉後台所有程序,很容易造成系統的不穩定。很多時候出現問題,只要重啟就能解決,其原因也在於此。

說了這麼多,總結起來很簡單,牛b的人自己去操縱系統記憶體分配的閾值,而普通使用者則是想怎麼用就怎麼用,完全不用去鳥剩餘記憶體的問題,那些記憶體清理的程式完全可以扔到一邊了。

android 是如何管理程序的

在android裡,程序和程式是兩回事,程式可以一直保留在系統裡,但是沒有任何程序在後台「執行」,也不消耗任何系統資源。所有的程式保留在記憶體中,所有可以更快的啟動回到它之前的狀態。當你的記憶體用完了,系統會自動幫你殺掉你不用的任務。

需要明白的是,

android用ram的方式,跟windows啥的是兩回事。在android的世界裡面,ram被用滿了是件'好'事。它意味著你可以快速開啟之前開啟的軟體,回到之前的位置。所以android很有效的使用ram,很多使用者看到他們的ram滿了,就認為拖慢了他們的**。而實際上,是你的cpu——當你的軟體真正執行時用到的東東——才是拖慢手機的瓶頸。

為啥說程序管理軟體是禍害

很流行的各種程序管理軟體都說幫你釋放記憶體是件好事,但這是不正確的。開啟這些軟體時,他們告訴你「執行」的軟體和殺死他們的方法。你也可以在「服務」裡面看到到底程式的哪些部分在「執行」,占用了多少記憶體,剩餘多少記憶體。所有的這些都告訴你,殺掉這些程式能夠釋放記憶體。但是這些軟體都沒有告訴你這些程式到底消耗了多少cpu時鐘,而僅僅告訴你能釋放多少記憶體。

要知道,用滿了記憶體實際上是件好事,我們要注意的是cpu,真正消耗你的手機資源,消耗電池的東東。

因此,殺掉程式通常是沒有必要的(尤其是用"autokill"方式殺掉程式)。更嚴重的是,這樣做會更快的拖垮你的手機能力和電池效能。不管是手動殺掉程序,還是自動的殺掉程序,重新開啟程式,你實際上是在用cpu資源來做這件事。

事實上,這些程序管理軟體消耗了系統資源。而且,這些軟體會莫名其妙的殺死其他程式造成亂七八糟的結果(尤其對些小白來說)。所有的這些,告訴我們,你的手機在用它自己的方式工作,特別是你只是個小白使用者,用這些程序管理軟體耽誤的事情比得到的要多。

那麼你應該怎麼做呢

這麼說吧,各種程式開發水平是不一樣的。很多人以前或者現在使用這些程序管理軟體,釋放記憶體,感覺手機快了那麼一點。造成這個問題的原因是,你用的軟體本身程式寫得太爛了,比如,有得程式完全沒有必要聯網時,還在聯著。這個時候,殺掉這些程式,你能得到好處,就是說,只有你知道你在幹什麼得時候,殺掉讓你愛但是很爛的程式才能幫上你。

事實上 ,很多開發者,包括rom開發者,如果用了程序管理程式,當你提交bug報告時,看都不會看一眼(cyanogen 時這麼幹的,我不知道miui是不是),所以能不用就不要用了,除非你真的知道你在幹什麼。

如果你真關係你的手機的表現和程序,還是多關注下系統程序,看看裡面說各種程式都消耗了多少資源,如果某個程式消耗太多,時不時殺掉它可能會有那麼一點幫助。

總的來說,程序管理軟體正確的用途是殺那些出錯的程式、會導致宕機有bug的程序以及疑似病毒程序等,而不是一味地追求記憶體空得多程式在記憶體裡放著,cpu不呼叫,它就是死的,一般程式你退出了它就不再執行了,不占用cpu資源(占用了cpu時間這個才是要耗電的),這就是2.2以上版本系統那個「快速啟動」的工作原理。

如果還是沒有看懂,後面還有一篇文章有助理解

Android 記憶體管理機制

本文 android 記憶體管理機制是android開發者必須要懂得的,是實現上層應用的基礎。下面就來談一談。以上這些設計確保了安卓android的穩定性,正常情況下最多單個程式崩潰,但整個系統不會崩潰,也永遠沒有記憶體不足的提示出現.大家可能是被windows毒害得太深了,總想保留更多的記憶體,但...

Android記憶體管理機制

按home鍵,看起來似乎是退出了,但是其實這個軟體並沒有被關閉,而是轉為了後台程式 指一般的軟體,不討論特別種類的軟體 按退出鍵,看起來也是退出沒錯,但這個軟體其實是被轉為了空置程式 除外,屬於有服務的特殊軟體 獨特的程序管理策略 系統會對程序的重要性進行評估,並將重要性以 oom adj 這個數值...

android記憶體管理機制(一)

無意中在miui看到的文章,感覺不錯,轉了過來。原文如下 這種設計本來就是乙個非常好的設計,下次啟動程式時,會更快,因為不需要讀取介面資源。android系統這樣的設計不僅非常適合移動終端的需要,而且減少了系統崩潰的可能,確保了系統的穩定性。老想著清理記憶體的同學完全是因為被塞班或者windows毒...