我正在执行以下代码:
ActivityManager actvityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List<RunningTaskInfo> procInfos = actvityManager.getRunningTasks(1000);
然后,我用
杀死了一个我感兴趣的过程actvityManager.killBackgroundProcesses(process.baseActivity.getPackageName());
其中process
是来自procInfos
的条目。
问题是如果我再次运行getRunningTasks
- 它仍会显示我(可能)被杀死的进程,而Android的任务管理器在调用killBackgroundProcesses
之前列出了该进程,并在之后将其从列表中删除那个电话。
那么,关于任务管理器如何获得正在运行的进程列表的任何想法? 在无根设备上成功杀死第三方进程是否正常?
答案 0 :(得分:5)
'Running'并不意味着用户启动了它;它可能正在监听事件,进行预定的后台同步或其他任何事情。
ActivityManager.getRunningTasks()可能更接近你想要的,但实际上你总是会遇到这个问题,因为用户无法完全控制当前活动的内容。