是否可以使用 ADB 杀死任务管理器中的所有 Activity 任务/应用程序?这相当于打开 task manager并一个一个地杀死每个任务......
我尝试使用以下 adb shell命令,但这并没有杀死所有的任务。
adb shell am kill-all
我无法使用 adb shell am force-stop <PACKAGE>
命令,因为它需要我知道正在运行哪个包/应用程序。我想杀死所有正在运行的用户应用程序任务。类似于使用任务管理器并一个一个地终止每个任务。
根据命令描述,kill-all 杀死所有后台进程。后台进程等同于“服务”,任务等同于“Activity ”吗?
此外,是否可以在保留用户数据的同时使用 ADB 清除应用程序的缓存?我似乎是 adb shell pm clear
清除所有用户数据。我只想清除缓存。
我问的原因是因为我正在对少数用户应用程序进行一些性能测试。为了使每个测试都有效,我想确保所有用户应用程序都没有任何任务、 Activity 、服务和缓存已经在后台。
最佳答案
你可以使用force-stop
,它不需要root权限。
adb shell am force-stop <PACKAGE>
并且你可以从最上面运行的activity/app获取包名
adb shell "dumpsys activity | grep top-activity"
之后你需要对结果进行一些操作,以提取包,这里是我的 java 代码:
public void parseResult(String line){
int i = line.indexOf(" 0 ");
if(i == -1){
return;
}
line = line.substring(i);
i = line.indexOf(":");
if(i == -1){
return;
}
line = line.substring(i + 1);
i = line.indexOf("/");
return line.substring(0, i);
}
关于android - 如何使用 ADB 终止所有 Activity 任务/应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31079853/