文章目录

  • 一、Low Memory Killer 机制
  • 二、Low Memory Killer 参数

一、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

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

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

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

18432,23040,27648,32256,55296,80640

最后一个数字 806408064080640 , 乘以 4KB\rm 4KB4KB , 除以 102410241024 , 最后得到 ;

80640×4KB1024KB/MB=315MB\rm \cfrac{80640 \times 4KB}{1024 KB / MB} = 315 MB1024KB/MB80640×4KB​=315MB

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

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

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

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

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

【Android 进程保活】Low Memory Killer 机制相关推荐

  1. Android low memory killer 机制

    Android中,进程的生命周期都是由系统控制的.即使用户在界面上关掉一个应用,切换到了别的应用,那个应用的进程依然是存在于内存之中的.这样设计的目的是为了下次启动应用能更加快速.当然,随着系统运行时 ...

  2. android的oomkiller_Android Low memory killer

    Android Low memory killer by 永远的伊苏 Android中,进程的生命周期都是由系统控制的,即使用户关掉了程序,进程依然是存在于内存之中.这样设计的目的是为了下次能快速启动 ...

  3. Android进程优先级architecture : low memory killer (/system/core/lmkd/lmkd.c)

    更新 ActivityManagerService.updateOomAdjLocked 保存 /proc/pid/oom_adj /proc/pid/oom_score_adj /proc/pid/ ...

  4. android lmk机制,android LMK(low memory killer) 工作机制

    Android Kernel 会定时执行一次检查,杀死一些进程,释放掉内存. 那么,如何来判断,那些进程是需要杀死的呢?答案就是我们的标题:Low memory killer机制. Low memor ...

  5. linux内核如何修改lowmem,技术内幕:Android对Linux内核的增强 Low Memory Killer

    6 09 2013 技术内幕:Android对Linux内核的增强 Low Memory Killer Low Memory Killer(低内存管理) 对于PC来说,内存是 至关重要.如果某个程序发 ...

  6. android app打开另一个app并触发按钮_Android进程调度:Low memory killer(4)修改版

    相关源码文件:framework/base/service/core/java/com/android/server/am/ActiveServices.javaframework/base/serv ...

  7. 深挖android low memory killer

    对于PC来说,内存是至关重要.如果某个程序发生了内存泄漏,那么一般情况下系统就会将其进程Kill掉.Linux中使用一种名称为OOM(Out Of Memory,内存不足)的机制来完成这个任务,该机制 ...

  8. Android Low memory killer by 永远的伊苏

    Android中,进程的生命周期都是由系统控制的,即使用户关掉了程序,进程依然是存在于内存之中.这样设计的目的是为了下次能快速启动.当然,随着系统运行时间的增长,内存会越来越少.Android Ker ...

  9. android 杀死进程回收资源,Android之进程回收机制LMK(Low Memory Killer)

    熟悉Android系统的童鞋都知道,系统出于体验和性能上的考虑,app在退到后台时系统并不会真正的kill掉这个进程,而是将其缓存起来.打开的应用越多,后台缓存的进程也越多.在系统内存不足的情况下,系 ...

最新文章

  1. 一次有意义的51CTO沙龙归来
  2. key的数据类型是字符串
  3. Linq 数据库操作(增删改查)
  4. gcc g++ Linux下动态库_静态库
  5. C++ 堆区内存分配
  6. 今日头条电脑版官方版_imclass电脑版下载-imclass在线教室pc版下载 v1.0.2 官方版...
  7. iOS App被拒原因以及解决方案总结。
  8. element中form表单resetFields()方法重置表单无效
  9. qscoj:喵哈哈村的冒菜店(线段树区间合并)
  10. 《HTML5和JavaScript Web应用开发》——2.6 QA和设备测试
  11. 计算机网络原理自考真题2020年真题,2020年10月自考04741计算机网络原理真题及答案...
  12. (SQL)使用Excel连接数据库
  13. YOLOv3: An Incremental Improvement (YOLOv3 论文翻译)
  14. 杂谈——如何合并两个有序链表(时间复杂度为O(n))
  15. Linux—shell—nohup命令使用
  16. YOLOv5全面解析教程③:更快更好的边界框回归损失
  17. 图(有向图、无向图)
  18. WMS的先进先出功能设计
  19. 阿里巴巴/招行信用卡中心21届实习面试知识点汇总
  20. VHDL语言基础-数据类型及运算符

热门文章

  1. android 下的网络图片加载
  2. SwiftSuspenders 1.6 浅出深入 深入 2
  3. SQL注入不能多句执行时的一种突破方法(SA权限)
  4. linux下使用DBCA(database configuration assistant)创建oracle数据库
  5. 最大整数(Noip1998连接多位数)
  6. hibernate Disabling contextual LOB creation as connection was null
  7. Visio 快捷大全(转载)
  8. 最短路之Dijkstra算法
  9. hdu 4568 bfs + 状压dp
  10. NLP - Log-linear Models