1.前言
在10.0的系统定制化开发中,在对于系统lowmemorykiller低内存的时候,应用保活功能是非常重要的,就是在低内存的情况下 禁止某个app被杀掉,所以就需要从lowmemorykiller机制入手,在杀进程的相关流程中进行分析来实现进程避免被杀掉,接下来 就来实现这个功能文章来源:https://www.toymoban.com/news/detail-860437.html
2.lowmemorykiller低内存时,禁止某个app被kill掉功能实现的核心类
system\core\lmkd\lmkd.c
3.lowmemorykiller低内存时,禁止某个app被kill掉功能实现的核心功能分析和实现
Android系统中在app的应用中,当页面被遮挡或者当Activity切换到后台,activity所在进程并不会马上退出被系统杀掉进程,还是会继续存在内存中,便于再次启动activity时, 快速启动来提高响应速度(热启动),当内存达到一定极限值,lmkd会根据策略来杀掉一些优先级较低的进程来保障系统内存的正常运行。 lowmemorykiller的低内存机制中,关于在低内存时杀掉一些优先级低的进程,这部分功能在Android8.0之前主要实现在kernel中,8.0以后主要在lmkd中实现,kernel使用vmpressure机制, 达到和kernel解耦的目的 对于Android 系统来说,希望将这种 OOM killer 放在用户空间,例如这里的 lmkd,用户空间的 OOM killer 在希望释放内存的时候,必须要依靠 kill() 或者是 pidfd_send_signal(),这种方式杀死一个进程并不能使 OOM reaper 接受来发挥作用 所以说lmkd的主要源码功能就是在system\core\lmk文章来源地址https://www.toymoban.com/news/detail-860437.html
到了这里,关于Android 10.0 lowmemorykiller低内存时,禁止某个app被kill掉功能实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!