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

时间:2012-03-23 12:55:08

标签: android process kill-process

我正在执行以下代码:

ActivityManager actvityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List<RunningTaskInfo> procInfos = actvityManager.getRunningTasks(1000);

然后,我用

杀死了一个我感兴趣的过程
actvityManager.killBackgroundProcesses(process.baseActivity.getPackageName());

其中process是来自procInfos的条目。

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

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

1 个答案:

答案 0 :(得分:5)

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

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