NoActive 中文文档 下载 App

NoActive 后台优化 oom_adj 分级 - 后台优先级管理

后台优化功能概述

NoActive 的后台优化功能利用已知的状态识别,正确识别后台应用的先后顺序,为每个应用设置不同的 oom_adj 值,实现精细化的后台优先级管理。

oom_adj 是什么

oom_adj 是 Linux 内核(Android)中每个进程的一个重要参数,它的值决定了进程被 Low Memory Killer (LMK) 杀死的优先级。

优先级分级

NoActive 提供三级重要程度设置:

高优先级

主进程 oom_adj: 600 - 649
子进程 oom_adj: 650 - 699

中优先级

主进程 oom_adj: 700 - 749
子进程 oom_adj: 750 - 799

低优先级

主进程 oom_adj: 800 - 899
子进程 oom_adj: 900 - 999

白名单应用

白名单应用的 oom_adj 保持在系统设置值(主进程 500,子进程 700),属于最高优先级。

后台顺序影响 oom_adj

oom_adj 值不仅取决于你设置的重要程度,还会根据后台顺序微调。

示例场景

依次后台三个应用:C(低优先级)→ B(低优先级)→ A(高优先级)

此时:

LMK 杀死顺序

内存不足时,杀死顺序如下(从先到后):

C 应用子进程(751)
    ↓
B 应用子进程(750)
    ↓
C 应用主进程(700)
    ↓
B 应用主进程(700)
    ↓
A 应用子进程(650)
    ↓
A 应用主进程(600)

配置方法

在 UI 中设置

在应用的独立配置页面,可以选择重要程度(高/中/低)。

通过配置文件批量设置

在 MemConfig.json 中通过以下字段批量配置:

开启方法

后台优化需要在 MasterConfig.json 中将 backgroundOptimize 设为 true,重启生效。

与内存优化的关系

内存优化(自动清理低优先级应用)依赖后台优化。先开后台优化,内存优化才能正常工作。

实际效果

开启后台优化后,在可用内存紧张时:

→ 继续 内存自动清理