展锐Android10,R,lmk如何添加白名单?
低内存lmk如何添加白名单?
[ANSWER] 如果要保存过程,就不会被保存lowmemorykiller将要保存的过程添加到白名单中:
lmkd_param.conf文件是lmkd杀戮过程中的白名单配置文件不会被配置lmkd杀掉的
请在device/sprd目录中搜索lmkd_param.conf然后确定与您的项目对应的文件lmkd_param.conf文件
然后添加配置如下:
device/sprd//common/DeviceCommon.mk:
PRODUCT_COPY_FILES = \
( L O C A L P A T H ) / l m k d p a r a m . c o n f : (LOCAL_PATH)/lmkd_param.conf: (LOCALPATH)/lmkdparam.conf:(TARGET_COPY_OUT_VENDOR)/etc/lmkd_param.conf
或者
PRODUCT_COPY_FILES = \
$(call md-path-cur)/lmkd_param.conf:$(TARGET_COPY_OUT_VENDOR)/etc/lmkd_param.conf
最后,向lmkd_param.conf添加任务名,尽量匹配,例如:
com.antutu.ABenchMark
com.antutu.ABenchMark:push
com.antutu.benchmark.full
可直接写成一行
com.antutu
就行了
注意,要在linux下,使用vi编辑修改lmkd_param.conf文件.
编译下载完成后,机器中lmkd white list:
/vendor/etc/lmkd_param.conf
若要避免被子am您可以参考以下示例代码
frameworks/base/services/core/java/com/android/server/performance/policy/ram/RamPolicyExecutor.java: private void doLRUReclaim(long idleTime, int swapKill, boolean force, int bgLimit, String reason) {
List<LRUReclaimProcessRecord> procs = getLeastRecentUsedPkg(idleTime, swapKill, force, bgLimit);
if (procs != null && procs.size() > 0) {
for (LRUReclaimProcessRecord proc : procs) {
+ if (isAgingTestTool(proc.pkgName)) {
+ Slog.e(TAG,"It is Aging test, doLRUReclaim skip kill : " + proc.pkgName);
+ continue;
+ }
if (isSpecialPackage(proc.pkgName)) {
if (DEBUG_RAMPOLICY) {
Slog.d(TAG, "Killing uid:" + proc.uid + proc.pkgName + " due to "
+ reason + "to free " + proc.rss + "KB");
}
mAm.killUid(UserHandle.getAppId(proc.uid), UserHandle.getUserId(proc.uid), "rampolicy");
} else {
Slog.d(TAG, "force-stop " + proc.pkgName + " due to " + reason
+ "to free " + proc.rss + "KB");
mAm.forceStopPackage(proc.pkgName, UserHandle.USER_CURRENT);
}
+ private boolean isAgingTestTool(String processName) {
+ return processName.contains("com.oppo.qetest") || processName.contains("com.oppo.qemonitor") || processName.contains("com.oppo.autotest.monkey");
+