android获取正在运行的进程
2017-08-09 17:34
405 查看
实体类
public class ProcessInfo { public String name; public String packageName; public Drawable icon; public long memory; public boolean isUser; //true表示用户进程 public boolean isChecked; //表示当前item是否被勾选 }
获取正在运行的进程列表
public ArrayList<ProcessInfo> getRunningProcesses(Context context) { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningAppProcessInfo> runningAppProcesses = am .getRunningAppProcesses();//获取运行中进程集合 PackageManager pm = context.getPackageManager(); ArrayList<ProcessInfo> list = new ArrayList<ProcessInfo>(); for (ActivityManager.RunningAppProcessInfo runningAppProcessInfo : runningAppProcesses) { ProcessInfo info = new ProcessInfo(); String packageName = runningAppProcessInfo.processName; //包名 info.packageName = packageName; int pid = runningAppProcessInfo.pid; Debug.MemoryInfo[] processMemoryInfo = am.getProcessMemoryInfo(new int[]{pid});//根据pid返回内存信息 long memory = processMemoryInfo[0].getTotalPrivateDirty() * 1024; //获取当前进程占用内存大小 info.memory = memory; try { ApplicationInfo applicationInfo = pm.getApplicationInfo(packageName, 0);//根据包名获取相关应用的信息 String name = applicationInfo.loadLabel(pm).toString(); Drawable icon = applicationInfo.loadIcon(pm); info.name = name; info.icon = icon; int flags = applicationInfo.flags; if((flags & ApplicationInfo.FLAG_SYSTEM)==ApplicationInfo.FLAG_SYSTEM){ //系统进程 info.isUser = false; }else{ //用户进程 info.isUser = true; } } catch (PackageManager.NameNotFoundException e) { //某些系统进程没有名称和图标,会走此异常 info.name = packageName; info.icon = context.getResources().getDrawable(R.drawable.system_default); info.isUser = false; e.printStackTrace(); } list.add(info); } return list; }
相关文章推荐
- [Android Pro] 获取手机已经安装的应用 和 获取当前正在运行的所有进程(一个uid对应多个pid)
- Android中TASK和PROCESS的区别,获取最近运行的程序和正在运行的进程
- Android中TASK和PROCESS的区别,获取最近运行的程序和正在运行的进程
- android获取正在运行的进程
- [Android Pro] 获取手机已经安装的应用 和 获取当前正在运行的所有进程(一个uid对应多个pid)
- 获取Android系统正在运行的进程
- android获取正在运行的进程
- 获取android正在运行的所有app进程
- Android学习点点滴滴之获取正在运行的进程
- Android中TASK和PROCESS的区别,获取最近运行的程序和正在运行的进程
- Android:5.0以上获取系统正在运行的进程信息
- Android TASK 和 PROCESS的区别,获取最近运行的程序和正在运行的进程
- 在Android中获取系统正在运行的进程方法
- Android中TASK和PROCESS的区别,获取最近运行的程序和正在运行的进程
- Android获取正在运行的进程
- android获取当前正在运行的进程的数目
- android获取正在运行的进程
- 获取Android正在运行的任务和服务
- Android中获取正在运行的应用程序-----ActivityManager.RunningAppProcessInfo类详解
- Android中获取后台正在运行的应用列表(附源码)