【Android 进程保活】Low Memory Killer 机制

举报
韩曙亮 发表于 2022/01/11 00:58:37 2022/01/11
【摘要】 文章目录 一、Low Memory Killer 机制二、Low Memory Killer 参数 一、Low Memory Killer 机制 Android 中...





一、Low Memory Killer 机制



Android 中有一套 Low Memory Killer 机制 , 应用退出后 , 其进程不会马上被杀死 , 而是缓存起来 ;

如下图所示 , 点击回退键 , 使应用退出后 , 然后点击 Menu 键 , 从任务栈列表中扔可以看到退出的应用 , 此时点击该任务栈 , 仍可以将该应用拉起到前台 ;

在这里插入图片描述

打开应用越多 , 后台缓存的应用也就越多 ; 如果出现内存不足的情况 , 系统会根据 Low Memory Killer 机制 判定哪些进程被回收 , 为新的进程提供充足的内存 ;





二、Low Memory Killer 参数



查看 Android 设备中的 Low Memory Killer 机制 相关参数 ;

进入 Android 命令行 , 获取 root 权限后 , 执行如下代码 :

cat /sys/module/lowmemorykiller/parameters/minfree

  
 
  • 1

执行上述命令 , 可以看到该配置文件中配置了 6 6 6 个数值 , 其单位是 4 K B \rm 4 KB 4KB ,

C:\Users\octop>adb shell
walleye:/ $ su
walleye:/ # cat /sys/module/lowmemorykiller/parameters/minfree
18432,23040,27648,32256,55296,80640
walleye:/ #

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述


分析 /sys/module/lowmemorykiller/parameters/minfree 配置文件中的 6 6 6 个数值 , 单位 4 K B \rm 4 KB 4KB ;

18432,23040,27648,32256,55296,80640

  
 
  • 1

最后一个数字 80640 80640 80640 , 乘以 4 K B \rm 4KB 4KB , 除以 1024 1024 1024 , 最后得到 ;

80640 × 4 K B 1024 K B / M B = 315 M B \rm \cfrac{80640 \times 4KB}{1024 KB / MB} = 315 MB 1024KB/MB80640×4KB=315MB

该配置的含义是如果当前可用内存小于 315 M B \rm 315 MB 315MB , 就会将 空进程 杀掉 ;


内存不足时杀进程的优先顺序 :

  • 18432 : 内存小于 18432 × 4 K B \rm 18432 \times 4KB 18432×4KB 时 , 杀 " 前台进程 " ;
  • 23040 : 内存小于 23040 × 4 K B \rm 23040 \times 4KB 23040×4KB 时 , 杀 " 可见进程 " ;
  • 27648 : 内存小于 27648 × 4 K B \rm 27648 \times 4KB 27648×4KB 时 , 杀 " 服务进程进程 " ;
  • 32256 : 内存小于 32256 × 4 K B \rm 32256 \times 4KB 32256×4KB 时 , 杀 " 后台进程 " ;
  • 55296 : 内存小于 55296 × 4 K B \rm 55296 \times 4KB 55296×4KB 时 , 杀 " ContentProvider 进程 " ;
  • 80640 : 内存小于 80640 × 4 K B \rm 80640 \times 4KB 80640×4KB 时 , 杀 " 空进程 " ;

不同的手机中 , 对应的数值不同 , 越低端的手机 , 内存阈值越小 ;

如果可用内存低于上述的 6 6 6 个配置的内存数值 , 就会按照顺序 , 依次向上逐步杀进程 ;

文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。

原文链接:hanshuliang.blog.csdn.net/article/details/115448315

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。