ActivityManager PackageManager

  1.  ActivityManager.RunningAppProcessInfo类  封装了正在运行的进程信息(一个进程里能够运行一个或多个应用程序)

  2.  private ActivityManager mActivityManager;
     private PackageManager pm;
  3. public void showPross(){
      mActivityManager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
      ActivityManager.MemoryInfo info = new ActivityManager.MemoryInfo();
      mActivityManager.getMemoryInfo(info);  
      Log.v("Bob","系统剩余内存:"+(info.availMem >> 20)+"m");//byte为单位
      Log.v("Bob","系统是否处于低内存运行:"+info.lowMemory);
      Log.v("Bob","当系统剩余内存低于"+(info.threshold >> 20)+"m时就当作低内存运行");
      List<RunningAppProcessInfo> list =  mActivityManager.getRunningAppProcesses();
      for(RunningAppProcessInfo item : list){
       Log.v("Bob","进程ID"+item.pid);
       Log.v("Bob","用户ID"+item.uid);
       Log.v("Bob","进程名"+item.processName);
       Log.v("Bob","进程ID"+item.pid);
       String[] pkgList = item.pkgList;
       for(int i = 0; i < pkgList.length;i++)
        Log.v("Bob","包名"+pkgList[i]);
       
       int[] myMempid = new int[] { item.pid };
       Debug.MemoryInfo[] memoryInfo = mActivityManager.getProcessMemoryInfo(myMempid);
       int memSize = memoryInfo[0].dalvikPrivateDirty;//kb为单位
       Log.v("Bob","进程占用内存"+memSize);
      }
     }
  4.  public void killPross(String name){//当此线程对应的程序开启了service 线程会重启。
      //权限<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>
        mActivityManager.killBackgroundProcesses(name);
     }
  5.  public void showPackage(){
      pm = this.getPackageManager();
      List<ApplicationInfo> listAppcations = pm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES);
      Collections.sort(listAppcations,new ApplicationInfo.DisplayNameComparator(pm));// 排序
      
      for (ApplicationInfo app : listAppcations){
       
       Log.v("Bob","包名"+app.packageName);
      }
     }
相关文章
相关标签/搜索