1. 程式人生 > >android 低記憶體管理機制

android 低記憶體管理機制

android低記憶體管理的宗旨是:對於使用實體記憶體最多,並且重要性最小的程序進行kill操作,以達到記憶體優化的目的。
具體實現過程是:
1 首先在/sys/module/lowmemorykiller/parameters/adj指定lowmen_adj陣列,lowmen_adj定義了各個階段的adj臨界值,該值越大,說明重要性越小;一樣在/sys/module/lowmemorykiller/parameters/minfree裡指定lowmen_minfree陣列,該陣列定義了空閒記憶體的大小臨界值,該值越小,則說明空閒記憶體越少,佔用的實體記憶體越多,因而對應該程序月可能被kill掉。

2 得到最小的oom_adj值,如果oom_adj等於初始化的值,等於沒有變,則說明沒有需要kill的程序,否則對於每個程序進行判斷,如果該程序的oom_adj小於臨界值,則說明其要重要些,則不殺該程序;如果oom_adj恰好等於臨界值,則判斷該程序的任務數,如果大於上次選中的程序的任務數,則該程序更應該被kill掉,依次比較下去,最後得到最不重要的程序,並給該程序傳送kill signal,殺掉該程序。