Android 10 低内存应用白名单和应用保活
功能:1、实现低内存时候不杀应用 2、应用保活
代码路径:
frameworks/base/service/score/java/com/android/server/am/ActivityManagerServiceEx.java
frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java
frameworks/base/core/java/android/app/ProcessProtection.java
frameworks/base/services/core/java/com/android/server/am/ProcessList.java
frameworks/base//core/res/res/values/config_ex.xml
frameworks/base/services/core/java/com/android/server/am/LmKillerTracker.java
一、应用保活
应用保活:1、保持进程不被系统杀死 2、进程被系统杀死之后,可以重新复活。
应用保活原理:提高应用的oom_adj值,这样应用不管切换到后台的时候,都让该进程保持前台进程,这样就不容易被系统杀死,如果adj的值越大就越容易被系统杀死。
如何提高adj值就可以实现应用保活
在ActivityManagerServiceEx.java文件中构造函数中提高adj值,其中该updateOomAdjLocked()方法就是更新adj值
static HashMap<String, ProtectArea> sPreProtectAreaList;
static {
sPreProtectAreaList = new HashMap<String, ProtectArea>();