如何让应用保持后台运行,做到保活?

其实,我们无法做到真正意义上的保活,应为系统进程会自动杀死占用过大内存的某个应用。

但我们还有一种选择,就是过滤该应用的包名,做到后台任务键清理不掉它,单独去除不掉它,只有返回键才能做到真正的退出。

主要涉及到framework下的三个类:

/frameworks/base/services/core/java/com/android/server/am/ActiveServices.java

 

/frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java

/frameworks/base/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java

 

1.
if (component.getPackageName().equals("com.tom.talkie")) continue;

if (app.processName.equals("com.tom.talkie")) return;


2.
if (packageName.equals("com.tom.talkie")) return;


3.
if (task != null && task.getBaseIntent().getComponent().getPackageName().equals("com.tom.talkie"))
        return false;

ComponentName component = task.getBaseIntent().getComponent();
        if (component.getPackageName().equals("com.tom.talkie")) {
            return;
        }

if (component == null || component.getPackageName().equals("com.tom.talkie")) {
  return;
}

 换成其他应用包名也可,亲测有效!!!!值得收藏!!!!

猜你喜欢

转载自blog.csdn.net/qq_46687516/article/details/129368020