NoActive MemConfig 内存配置 - 保留值与优先级集合
MemConfig.json
内存配置文件,控制内存优化的阈值和应用优先级,即时生效。
前置条件
MemConfig 的功能需要先在 MasterConfig.json 中开启:
backgroundOptimize: true(后台优化)memoryOptimize: true(内存优化)
完整字段
| 字段 | 类型 | 可选值 | 默认 | 说明 |
|---|---|---|---|---|
| freeRAM | number | 负整数 / 0 / 正整数 | 0 | 保留 RAM |
| freeSWAP | number | 负整数 / 0 / 正整数 | 0 | 保留 SWAP |
| highPriorityUidSet | string | UID(逗号分隔) | 空 | 高优先级 UID |
| mediumPriorityUidSet | string | UID(逗号分隔) | 空 | 中优先级 UID |
| lowPriorityUidSet | string | UID(逗号分隔) | 空 | 低优先级 UID |
freeRAM / freeSWAP 保留值
配置规则
| 配置值 | 含义 |
|---|---|
| 负整数 | 关闭该类型内存的保留功能 |
| 0 | 自动(物理内存的 10%,最大 2GB) |
| 正整数 | 指定保留值,单位 MB |
示例
freeRAM: -1 → 不保留 RAM,关闭 RAM 保留功能
freeRAM: 0 → 自动计算(内存 10%,最大 2048MB)
freeRAM: 2048 → 固定保留 2048MB RAM
freeSWAP: -1 → 关闭 SWAP 保留
freeSWAP: 512 → 固定保留 512MB SWAP
什么时候调整
| 场景 | 建议调整 |
|---|---|
| 设备内存紧张(4GB 及以下) | 降低 freeRAM,减少保留 |
| 设备内存充足(8GB+) | 可保持默认或适当提高 |
| 游戏时频繁被杀死 | 提高 freeRAM 或把游戏设为高优先级 |
优先级 UID 集合
优先级集合与 FreezeConfig 中的集合类似,通过 UID 指定应用。
优先级说明
| 优先级 | oom_adj 范围 | 清理顺序 |
|---|---|---|
| 高 | 主进程 600-649 | 最后清理 |
| 中 | 主进程 700-749 | 中间清理 |
| 低 | 主进程 800-899 | 最先清理 |
设置优先级的作用
- 后台优化:oom_adj 值影响系统在内存不足时的进程杀死顺序
- 内存优化:NoActive 自动清理时从低优先级开始
建议分配
| 优先级 | 适合的应用类型 |
|---|---|
| 高 | 浏览器、地图、相机、主流即时通讯 |
| 中 | 视频播放器、音乐、阅读、笔记 |
| 低 | 天气、新闻、小组件、不常用应用 |
配置示例
{
"freeRAM": 2048,
"freeSWAP": 0,
"highPriorityUidSet": "10087,10156",
"mediumPriorityUidSet": "10234,10298",
"lowPriorityUidSet": "10345,10456"
}
UI 与配置文件的关系
在 NoActive 应用的独立配置页面设置高/中/低优先级,实际上就是在修改 MemConfig.json 中对应的 UID 集合。
→ 进入 故障排查分组 解决常见问题