1.概述
在12.0的系统产品开发中,在某些重要的app即使进入后台,产品需求要求也不想被系统杀掉进程,需要app长时间保活,就是app进程保活白名单功能的实现,所以需要在系统杀进程的时候不杀掉白名单的进程
2. app进程保活白名单功能实现的核心类
frameworks/base/core/java/android/app/IActivityManager.aidl
frameworks/base/core/java/android/app/ActivityManager.java
frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java
frameworks/base/services/core/java/com/android/server/wm/ActivityStackSupervisor.java
frameworks/base/services/core/java/com/android/server/am/OomAdjuster.java
3. app进程保活白名单功能实现的核心功能实现和分析
3.1 在IActivityManager.aidl中增加进程白名单的接口
void killUidForPermissionChange(int appId, int userId, String reason);
boolean enableAppFreezer(in boolean enable);
+ List<String> getWhiteAppProcessList();
+ void setWhiteAppProcessList(in List<String> whiteAppPro