文章目录
- Android系统性能优化:进程优先级体系详解——从nice值到oom_adj的四级调节方法
-
- 导入语
- 1 ~> 两套优先级机制总览
- 2 ~> 查看进程优先级
-
- 2.1 用 top 观察 PR 和 NI
- 2.2 查看内存回收优先级
- 3 ~> 方法一:renice 命令修改(临时方案)
- 4 ~> 方法二:rc 文件修改(推荐,持久生效)
- 5 ~> 方法三:Framework 源码修改(应用级保活终极方案)
-
- 5.1 目标场景
- 5.2 AMS 中设置 persistent 与 maxAdj
- 5.3 OomAdjuster 中设置线程优先级
- 5.4 三处修改的分工总结
- 6 ~> 补充:oom_score_adj 和 SYSTEM_ADJ 的区别
-
- 6.1 一句话讲清关系
- 6.2 协同工作机制
- 6.3 实践意义
- 6.4 两者的对照表
- 7 ~> 四种修改方法对比与选型
- 思考 && 总结
- 结尾
Android系统性能优化:进程优先级体系详解——从nice值到oom_adj的四级调节方法
📖 文章简介: 本文系统讲解Android进程优先级的完整技术体系。文章覆盖两套并行存在的优先级机制:CPU调度层的nice值(NI,-2019)与实时优先级(PR,099),以及内存回收层的oom_adj分值(-1000~999)。详解四种修改进程优先级的方法:renice命令(及其不生效的原因分析)、init rc文件的priority字段(持久生效的推荐方式)、Framework层AMS源码修改(设置persistent属性与maxAdj)、以及OomAdjuster中线程优先级的定制(setThreadPriority)。最后深度辨析oom_score_adj与SYSTEM_ADJ的关系——\”身份徽章\”与\”座位优先级\”的协同机制,配以Mermaid架构图展示两套优先级的作用层级,适合从事Android系统保活方案设计与进程管理的工程师阅读参考。

🎬 个人主页: 源码骑士





