得到android多有的正在运行的程序信息

来源:互联网 发布:ubuntu网页加载慢 编辑:程序博客网 时间:2024/05/16 16:18
public List getRunningAppProcessInfo(){
        
          Log.i("test", "getRunningAppProcessInfo()...");
          List appProcessList = activity.getRunningAppProcesses();
          Log.i("test", "getRunningAppProcessInfo()..."+appProcessList.size());
          for(int i=0; i<appProcessList.size(); i++){
           RunningAppProcessInfo appProcessInfo = (RunningAppProcessInfo) appProcessList.get(i);
           //进程ID
           int pid = appProcessInfo.pid;
           //用户ID,类似于Linux的权限不同,ID也就不同, 比如root
           int uid = appProcessInfo.uid;
           //进程名,默认是包名或者由属性android:process=""指定
           String processName = appProcessInfo.processName;
           //获得该进程占用的内存
           int[] memPid = new int[]{ pid };
           //此MemoryInfo位于android.os.Debug.MemoryInfo包中,用来统计进程的内存信息
           Debug.MemoryInfo[] memoryInfo = activity.getProcessMemoryInfo(memPid);
           //获取进程占内存用信息kb单位
           int memSize = memoryInfo[0].dalvikPrivateDirty;
            
           Log.i("test", "process name: " + processName + "   pid: " + pid + "   uid: " + uid + " memory size is -->" + memSize + "kb");
//           textName.setText(processName);
           temp +=uid  + " " + pid + " " +processName +"\n";
           tempId += uid+"\n";
           //获得每个进程里运行的应用程序(包),即每个应用程序的包名    
           String[] packageList = appProcessInfo.pkgList;
           for(String pkg : packageList){
               Log.i("test", "package name " + pkg + " in process id is -->" + pid);
             
           }
            
          }
           
          return appProcessList;
         }
原创粉丝点击