您的位置:首页 > 移动开发 > Android开发

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

2012-11-28 19:04 281 查看
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;

         }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐