基于Android的车载操作系统 目录
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)
这部分进程主要指当前正在与用户进行交互的进