Android開發之ActivityManager獲取系統信息


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     }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM