想當年,清內(nèi)存的習慣由來已久。在 Android 還沒出生,我們使用 Windows 時,總巴不得把所有沒有用到的進程關(guān)掉,這樣才不會“占內(nèi)存”,不會“占 CPU ”,電腦才不會“卡”。(大部分的“安全軟件”就是靠幫用戶在 Windows 上清內(nèi)存,清垃圾而揚名)這算是清內(nèi)存的歷史原因。然而 Android 跟 Windows 相比,是完全不同的內(nèi)存管理機制…
背景:
Android 基于 Linux 的內(nèi)核,繼承并改進了 Linux 的內(nèi)存管理機制。
以上,可以解釋 Android 剩余內(nèi)存總是很少的原因。“但是,進程在后臺運行會耗電耗流量的啊?”這個繼續(xù)解釋……
當進程被切換到后臺時,系統(tǒng)暫停進程。不消耗cpu資源,只在內(nèi)存保留運行狀態(tài),并根據(jù)應(yīng)用本身設(shè)置優(yōu)先級。
七個優(yōu)先級:
綜上,正常的用戶應(yīng)用在退出之后要不就成為后臺進程,要不就成為空進程。這些進程已經(jīng)暫停了運行,不占用 CPU 資源和電量。在內(nèi)存不足,用戶需要打開另外的應(yīng)用時,就會自動清除掉,所以完全不需要清理內(nèi)存。相反有時清理了內(nèi)存之后系統(tǒng)反而需要用大量的電量和 CPU 去重啟必要的進程。
可是為什么有些應(yīng)用在關(guān)掉了之后仍然會耗費電量和流量呢?唯一的答案是,這是一個不安分的應(yīng)用。應(yīng)用作者在寫應(yīng)用的時候就為應(yīng)用申請了各種各樣的主要服務(wù)和次要服務(wù),導(dǎo)致用戶退出后仍然繼續(xù)運行。(所以后臺運行最牢固的就是那些在你下拉通知欄的“XX電池醫(yī)生”和“XX手機助手”。)這種現(xiàn)象在一些國產(chǎn)應(yīng)用上尤其常見。面對這些亂七八糟的沒良心的應(yīng)用和應(yīng)用作者,果斷把它卸載并沖到臭水溝里面去吧,差評!