获取正在运行的进程列表并终止特定进程

Vio*_*ffe 5 android process kill-process

我正在执行以下代码:

ActivityManager actvityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List<RunningTaskInfo> procInfos = actvityManager.getRunningTasks(1000);
Run Code Online (Sandbox Code Playgroud)

然后,我杀了一个我感兴趣的过程

actvityManager.killBackgroundProcesses(process.baseActivity.getPackageName());
Run Code Online (Sandbox Code Playgroud)

哪里process是一个条目procInfos.

问题是如果我getRunningTasks再次运行- 它仍会显示我(可能)被杀死的进程,而Android的任务管理器在调用之前列出了该进程killBackgroundProcesses并在该调用之后将其从列表中删除.

那么,关于任务管理器如何获得正在运行的进程列表的任何想法?在无根设备上成功杀死第三方进程是正常的吗?

Rob*_*ham 5

"跑步"并不意味着用户启动了它; 它可能正在侦听事件,进行预定的后台同步或其他任何事情.

ActivityManager.getRunningTasks()可能更接近你想要的,但实际上你总是会遇到这个问题,因为用户无法完全控制当前活动的内容.