ProcessList.java是一个进程优先级调整函数。低内存查杀保护某些进程可以在这个文件中调整需要保护的进程的优先级。
private static final String protect_apps[] = {
"system_server",
"system",
};
/**
* check whether it is protect package, by liuhualiang
*/
public static boolean isProtectPackage(String package_name) {
if(package_name == null || package_name.equals("")) {
return false;
}
package_name = package_name.split(":")[0];//some process name like com.xx.xx:remote
for(String s : protect_apps) {
if(s.equals(package_name)) return true;
}
return false;
}
public static void setOomAdjByPackageName(String package_name, int pid, int uid, int amt) {
if(package_name == null) return;
if(isProtectPackage(package_name)) {
//Slog.d(TAG, "Is protect app, name=" + processName + ",pid ="+ pid +", ori adj=" + amt+", new adj=" + SYSTEM_ADJ);
amt = SYSTEM_ADJ;
if ("com.android.systemui".equals(package_name)) {
Slog.i(TAG, "Force set com.android.systemui OomAdj=NATIVE_ADJ");
amt = NATIVE_ADJ;
}
} else {
//Slog.d(TAG, "NOT protect app, name=" + processName + ",pid ="+ pid +", set adj to " + amt);
}
setOomAdj(pid, uid, amt);
}