1.判斷指定的service是否在運行
1 public static boolean isServiceRunning(Context ctx, String serviceName) { 2 ActivityManager am = (ActivityManager) ctx 3 .getSystemService(Context.ACTIVITY_SERVICE); 4 List< RunningServiceInfo > runningServices = am.getRunningServices(200); // 獲取運行的所有service,100一般可以獲取到所有的service. 5 for ( RunningServiceInfo runningServiceInfo : runningServices ) { 6 String className = runningServiceInfo.service.getClassName(); //獲取到運行服務的類名 7 if ( className.equals(serviceName) ) { // 假如在運行的service中含有傳入的service名稱,返回true 8 return true; 9 } 10 } 11 return false; 12 }
2.獲取到系統運行的進程數
1 public static int getRunningTaskCount(Context context) { 2 ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); 3 List< ActivityManager.RunningAppProcessInfo > runningAppProcesses = am.getRunningAppProcesses(); 4 return runningAppProcesses.size(); 5 }
3.獲取設備可用內存
1 public static long getAvaliMem(Context context) { 2 ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); 3 ActivityManager.MemoryInfo outInfo = new ActivityManager.MemoryInfo(); 4 am.getMemoryInfo(outInfo); 5 return outInfo.availMem; 6 }
4.獲取設備總內存
1 public static long getTotalMem(Context context) { 2 ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); 3 ActivityManager.MemoryInfo outInfo = new ActivityManager.MemoryInfo(); 4 am.getMemoryInfo(outInfo); 5 return outInfo.totalMem; 6 }