IVI15.1.3 系统稳定性优化篇(LMKD Ⅲ)LMKD的设计原则
Posted 高桐@BILL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IVI15.1.3 系统稳定性优化篇(LMKD Ⅲ)LMKD的设计原则相关的知识,希望对你有一定的参考价值。
LMK(Low Memory Killer)是一个多层级内存溢出查杀工具,由android基于OOM-Killer原则开发扩展而来。
当系统的可用内存很低时,lmkd则会进行选择性的进程查杀。相对于OOM-Killer,LMKD更具灵活性。LMKD的设计原则包括如下:
- 定义优先级(首杀原则)
- 优先级根据场景动态调整;
- 不同进程区别对待,如应用程序,服务等;
一,Android应用程序进程优先级和OOM Adj
Android会尽可能地确保应用程序的运行,但为了创建和运行更重要或优先级更高的进程,它也需要移除一些低优先级或长时间不活动的进程或服务来回收内存。在Android选择性的查杀进程时,系统将会基于进程的状态来评估进程是否要被系统回收。
在Android中,进程被分为5个等级,分别是:
- 前台进程(Foreground Process)
- 可见进程(Visible Process)
- 服务进程(Service Process)
- 后台进程(Background Process)
- 空进程(Empty Process)
1.1 前台进程(Foreground Process)
这部分进程主要指当前正在与用户进行交互的进程,如下:
- 包含正在交互的Activity的进程(resumed)
- 包含Activity绑定的Service进程
- 包含运行在“foreground”
以上是关于IVI15.1.3 系统稳定性优化篇(LMKD Ⅲ)LMKD的设计原则的主要内容,如果未能解决你的问题,请参考以下文章
IVI15.1.4 系统稳定性优化篇(LMKD IV)LMKD初始化
IVI15.1.8 系统稳定性优化篇(LMKD 八)通过填充内存触发lmkd查杀
IVI15.1.1 系统稳定性优化篇(LMKD Ⅰ)Android低内存查杀守护进程(Android12)
IVI15.1.6 系统稳定性优化篇(LMKD 六)Vmpressure监视器初始化及其工作原理