999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Android手機需要清內存嗎?

2016-04-29 00:00:00藍色
個人電腦 2016年2期

像我們這些在Windows陪伴下成長起來的玩家,“內存不足”是留存在心底揮之不去的陰影,即便到了今天,到了Android系統,這個陰影依舊。實際上Android有著與Windows完全不一樣的內存管理機制,Windows上的那一套,在這兒并不是行之有效的。

在Windows的內存分配機制中,只有應用程序需要用到內存時,才會為程序分配內存,一旦這個程序被關閉,分配的內存也就釋放出來成為新的可用內存。然而,絕大多數Android應用都沒有退出內存駐留的設計,這些運行過的應用無非是從前臺轉入到后臺。

其實,對于很多用戶而言,清空駐留內存是個顯而易見的偽命題,但是在我們周圍,還是有很多智能手機的用戶不時抱怨:怎么這個手機標配3GB內存,但空閑的怎么只有600MB呢?以前那個2GB內存的手機都有800MB的空閑,我要一鍵清理內存,我要定時清理內存,等等。

如今,像我們這些在Windows陪伴下成長起來的玩家,“內存不足”是留存在心底揮之不去的陰影,即便到了今天,到了Android系統,這個陰影依舊。實際上Android有著與Windows完全不一樣的內存管理機制,Windows上的那一套,在這兒并不是行之有效的。

Android中可用內存只是個沒意義的數字

在Windows中,可用內存自然是越多越好,但在Android中,則完全不必在意這個數據。在下圖中,有著3GB內存的某款手機,實際可用內存只有1.3GB左右(MemFree+Cached),這時您可千萬別說這個系統好垃圾-事實也并非如此,這只能顯得自己有些無知。

正如我們所知道的那樣,在Windows系統中只有需要用到內存時才會為程序分配內存,一旦這個程序被關閉,分配的內存也就釋放出來成為新的可用內存。然而絕大多數Android應用都沒有類似的內存退出設計,這些運行過的應用無非是從前臺轉入到后臺,大多數應用依舊保留在內存中并不會也不需要主動釋放,這樣在下次再運行該應用時,可以更快速的予以啟動。

無論手機的物理內存有多大,Android都能將其充分利用,將需要用到(包括之前用過的)的數據從存儲器讀入到內存,利用內存的高速度保證系統的數據訪問性能。也就是說,可用內存越小,內存的利用率就更高,其中的數據就越多,數據訪問的命中率就越高,系統響應也就越快。如果還有人和你說手機用不了4GB這么的大內存,那只是廠商的噱頭而已,你完全可以無視他,再用事實教育之。

當然,即便如此,我們也可能還會面臨更多的問題:當打開的應用越來越多,占用的內存總會爆滿的,那時又當如何?

該出手時就出手,Android有著優秀的內存回收機制

實際上,作為Android的開發語言Java沒有提供任何操作來釋放內存(這也是與iOS很大的不同點),它是通過系統的內存回收機制來進行管理。Android使用了一個名為Low Memory Killer(LMK)的機制來管理內存,當內存出現不足時,LMK就開始揮舞“屠刀”殺掉一些進程,那么就帶來了一個問題:哪些進程會被系統選中?

在這里,為了將該進程選擇機制解釋清楚,我們不妨在此多費點筆墨。Android會對進程的重要性進行評估,以oom_adj來表示,oom_adj的值越小,則重要性越高;oom_adj的值越大,該進程被系統選中并殺掉的可能性則越高;當oom_adj值為0,這意味著它永遠不會被系統終止。

針對這一機制,Android有一套自己獨特的進程管理系統,比如可以設定“當內存小于22MB時,結束oom_adj大于14的進程”這樣的策略,可以看到oom_adj非常重要,關乎進程的死生命運。

如上表描述的那樣,在默認策略中,當內存低于24MB(6144(4K)時,LMK就會殺掉所有oom_adj為15的進程(即空進程)。當然,這個警戒值可以人為修改,只是一般情況下也沒必要去改變它。為了更好的評估進程的重要性,Android將進程分為六類,如下所述:

前臺進程(foreground):oom_adj=0,指正在當前屏幕上顯示的進程和一些系統進程,一旦你回到主界面 或切換到其它程序,當前進程變為隱藏進程,前臺進程是不會殺掉的;

可見進程(visible):oom_adj=1,可見進程雖然不在前臺,但依然可見,如widget、輸入法等,這部分進程也非常重要,基本上不可能被殺掉;

次要服務(secondary server):oom_adj=2,目前正在運行的一些服務,如下載、播放音樂,它們雖然屬于次要服務,但與系統息息相關,一般也不會被殺掉;

隱藏進程(hidden):oom_adj=7,這個很容易理解,當應用從前臺轉入到后臺后,也就成為隱藏進程了,通常一鍵清理內存就是清掉這些隱藏進程;

內容提供者(content provider):oom_adj=14,沒有程序實體,只提供內容供別的程序去用的,比如日歷供應節點,顯然這類進程最有可能被先殺掉;

空進程(empty):oom_adj=15,有些程序在程序退出后,依然會在進程中駐留一個空進程,這個進程里沒有任何數據在運行,作用往往是提高該程序下次的啟動速度或者記錄程序的一些歷史信息,這類進程無疑是要最先被殺掉的。

Android的內存管理機制非常適合嵌入式系統,能充分發揮出硬件的潛力,當內存越大,它的優勢就越明顯。

Android手機需要清內存嗎?需要嗎?

回到要討論的話題,Android手機需要清內存嗎?結合前面的介紹,我們的結論是再明顯不過了:完全不需要!其實,這個結論也適用iPhone手機,只不過iOS在內存管理方面更為激進。

可見,我們完全不用糾結Android手機上的可用內存大小,也不需要去一鍵清理內存,這樣做有時可能還會適得其反,尤其是在手機內存2GB起步3GB成主流的今天,我們會很享受Android的內存管理機制。其實,目前主流硬件規格的Android手機系統在運行流暢度上都有著很好的表現,基本上能與iOS一決高下,而在Android 5.1.1以上版本的系統中體會到如絲般順滑的使用感受也都是可以期待的,至于為什么很多手機仍然會出現“越用越卡”的情況,這個問題就有點復雜了,涉及了多個方面,我們就先不在此展開,留至下一期繼續討論。

主站蜘蛛池模板: 无遮挡一级毛片呦女视频| 国产高清在线精品一区二区三区 | 人与鲁专区| 黄色网页在线播放| 国产97公开成人免费视频| 午夜一区二区三区| 欧美精品高清| 亚洲综合极品香蕉久久网| 国产亚洲精品va在线| 日本亚洲欧美在线| 亚洲视频在线观看免费视频| 成人毛片在线播放| 人妻精品久久久无码区色视| 色综合中文综合网| 中文字幕日韩丝袜一区| 亚洲毛片在线看| 99这里只有精品在线| 亚洲精品男人天堂| 激情无码视频在线看| 国产交换配偶在线视频| 亚洲天堂色色人体| 青青青伊人色综合久久| 在线观看av永久| 国产激情第一页| 欧美日韩一区二区在线播放 | 香蕉精品在线| 中文字幕在线播放不卡| 毛片网站观看| 国内精品一区二区在线观看| 国产午夜一级毛片| 欧美亚洲激情| 91精品国产91久无码网站| 国产精品偷伦视频免费观看国产| 日韩无码真实干出血视频| 欧美综合成人| 亚洲精品麻豆| 欧美成人午夜视频免看| 啪啪免费视频一区二区| 日韩欧美中文字幕在线韩免费 | 国产精品v欧美| 国产地址二永久伊甸园| 高潮毛片无遮挡高清视频播放| 幺女国产一级毛片| 美女视频黄频a免费高清不卡| 欧美一级高清免费a| 亚洲国产午夜精华无码福利| 热九九精品| 国产精品欧美日本韩免费一区二区三区不卡 | 美女无遮挡拍拍拍免费视频| 亚洲首页国产精品丝袜| 国产日本视频91| 激情亚洲天堂| 3p叠罗汉国产精品久久| 中文字幕久久精品波多野结| 欧美天堂久久| 911亚洲精品| 午夜视频在线观看免费网站 | 综合色亚洲| 97视频在线精品国自产拍| 国产美女丝袜高潮| 18黑白丝水手服自慰喷水网站| 亚洲第一区在线| 免费一级α片在线观看| 秘书高跟黑色丝袜国产91在线| 午夜日本永久乱码免费播放片| 97在线视频免费观看| 亚洲中文字幕无码mv| 国产中文一区二区苍井空| 精品一区二区三区波多野结衣| 亚洲国模精品一区| 综合亚洲色图| 日韩大片免费观看视频播放| 国产福利免费视频| 欧美精品啪啪| 国产一区二区三区精品欧美日韩| 国产毛片基地| 天天做天天爱夜夜爽毛片毛片| 在线观看国产小视频| 91香蕉国产亚洲一二三区 | 91精品aⅴ无码中文字字幕蜜桃| 欧美不卡二区| 99热这里都是国产精品|