(一)LMK简介

LMK(Low Meminfo Killer)是Android系统在内存不足时,根据进程优先级杀掉部分进程以释放内存的机制。它根据oom_adj设置优先级,分为6个级别,如CACHED_APP_MAX_ADJ到FOREGROUND_APP_ADJ。系统判断内存不足后,按级别逐步杀进程。oom_score_adj是更细粒度的adj评分,用于确定哪些应用会被优先清理。在Android 9及以下,adj值与内存阈值有关,而在Android 10中,可以通过getprop sys.lmk.minfree_levels查看当前阀值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、概述

LMK (low meminfo killer) 即当系统可用内存太低时,系统会触发LMK,杀掉一些进程释放内存出来。android 会为进程分配优先级,优先级越低的应用,在内存不足时,会优先被杀。优先级与进程的类型和进程被调度的次序有关系。

2、优先级

android 进程的优先级(从高到低)

前台进程,正在活动的Activity或者使用startForeground的Service。onReceive 的BroadcastReceiver 等
可见进程,如 onPause 的Activity
服务进程,后台服务,如正在运行startService 启动的service
后台进程,对用户交互无影响,如onStop状态的Activity 等
空进程,一般用作缓存以缩短下次启动时间

而LMK 则是根据oom_adj (Out of Memory Adjustment)来设置的,与android 的进程优先级有相似的地方,但又不完全相同

<

ADJ级别

取值

解释

UNKNOWN_ADJ 16 一般指将要会缓存进程,无法获取确定值
CACHED_APP_MAX_ADJ 15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值