1.概述
在10.0的系统产品开发中,对于产品开发中,对于一些重要进程,是不想被系统在低内存的情况下,杀掉进程,
所以需要把进程加入白名单,在系统杀进程的时候,不去杀掉进程
2.进程加入白名单,避免被杀掉的核心类
bsp/kernel/kernel4.14/drivers/staging/android/lowmemorykiller.c
3.进程加入白名单,避免被杀掉核心功能分析和实现
功能分析:
Android底层还是基于Linux,在Linux中低内存是会有oom
killer去杀掉一些进程去释放内存,而Android中的lowmemorykiller就是在此基础上做了一些调整来的。因为手机上的内存毕竟比较有限,而Android中APP在不使用之后并不是马上被杀掉,虽然上层ActivityManagerService中也有很多关于进程的调度以及杀进程的手段,但是毕竟还需要考虑手机剩余内存的实际情况,
lowmemorykiller的作用就是当内存比较紧张的时候去及时杀掉一些ActivityManagerService还没来得及杀掉但是对用户来说不那么重要的进程,回收一些内存,保证手机的正常运行。
所以来看下lowmemorykiller.c的源码了
路径:bsp/kernel/kernel4.14/drivers/staging/android/lowmemorykiller.c
当内存紧张时,会根据当前剩余内存,来查看对应的minfree的等级 来调用long lowmem_scan搜索符合的进程 来杀掉进程