问题描述
- 安卓中进程与包的关系
-
ActivityManager activityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List list = activityManager.getRunningAppProcesses();
if (list != null)
for (int i = 0; i < list.size(); i++) {
ActivityManager.RunningAppProcessInfo apinfo = list.get(i);
String[] pkgList = apinfo.pkgList;
if (apinfo.importance > ActivityManager.RunningAppProcessInfo.IMPORTANCE_SERVICE) {
for (int j = 0; j < pkgList.length; j++) {
activityManager.killBackgroundProcesses(pkgList[j]);
}
}
}
List list = activityManager.getRunningAppProcesses(); 这行代码拿到所有的进程
ActivityManager.RunningAppProcessInfo apinfo = list.get(i);这行拿到该进程的信息
String[] pkgList = apinfo.pkgList; 拿到该进程下所有的包
activityManager.killBackgroundProcesses(pkgList[j]);杀掉包名对应的进程
我的疑惑就是 一个进程(设为A)下面可能有多个包,每个包都有自己关联的进程,既然这样,每个包的进程与A关系是什么,最后把所有包名对应的进程杀完后,进程A怎么办?
解决方案
还有啊 一个包名对应一个以包名命名的进程,为什么一个进程下可以运行好多个其他的包,希望大牛解答
解决方案二:
进程是个很大的概念,一个完整的app很可能就只占有了一个进程,它下面有很多包,不足为怪。
时间: 2024-11-16 21:47:15