如何修改Android低内存杀手(lmk)的config.xml值,有无对应setprop属性
修改LMK相关配置值的方法
你需要先解锁设备Bootloader且获取Root权限,两种修改方案可选:
方案1:修改framework层config.xml(永久生效)
- 第一步:提取系统framework资源包,路径为
/system/framework/framework-res.apk,可通过root文件管理器复制,或执行adb命令提取:
adb pull /system/framework/framework-res.apk
- 第二步:使用Apktool反编译该apk:
apktool d framework-res.apk
- 第三步:进入反编译后的目录,打开
res/values/config.xml,找到目标参数修改:config_lowMemoryKillerMinFreeKbytesAbsolute:低内存阈值绝对值,单位KB,默认-1表示不启用强制阈值,使用系统自动计算的数值config_lowMemoryKillerMinFreeKbytesAdjust:系统自动计算阈值的偏移值,单位KB,正数为提高阈值,负数为降低阈值
- 第四步:修改完成后回编译apk,再进行签名和ZIP对齐操作
- 第五步:推荐通过Magisk模块的方式替换系统原framework-res.apk,避免直接修改系统分区导致变砖,刷入模块后重启设备即可生效。
方案2:通过setprop命令修改(临时生效,重启后恢复默认)
Android 12存在对应这两个配置的系统属性,可直接通过setprop命令修改,无需反编译资源包:
- 对应
config_lowMemoryKillerMinFreeKbytesAbsolute的属性为sys.lmk.min_free_absolute - 对应
config_lowMemoryKillerMinFreeKbytesAdjust的属性为sys.lmk.min_free_adjust
修改命令示例(需要root权限):
# 设置最小空闲内存绝对值为12288KB(12MB) su -c setprop sys.lmk.min_free_absolute 12288 # 设置阈值偏移值为2048KB su -c setprop sys.lmk.min_free_adjust 2048
修改后即时生效,不需要重启设备。如果需要该配置永久生效,可将上述命令添加到开机执行脚本中。
注意事项
- 阈值设置过高会导致LMK频繁杀后台进程,甚至可能误杀系统核心进程导致设备重启、崩溃;阈值设置过低会导致低内存场景下系统卡顿无响应,调试时建议小幅度逐步调整。
- 未获取Root权限的设备无法修改上述配置。
内容的提问来源于stack exchange,提问作者Flyview
相关产品推荐
相关产品推荐

