android系統進程手機內存工具類

f25p 9年前發布 | 1K 次閱讀 Java Android

    public class TaskUtils {

    /** 
     * 獲取正在運行的進程的個數 
     *  
     * @param context 
     * @return 
     */  
    public static int getRunningProcessCount(Context context) {  
        // 得到系統的任務管理器.  
        ActivityManager am = (ActivityManager) context  
                .getSystemService(Context.ACTIVITY_SERVICE);  
        return am.getRunningAppProcesses().size();  
    }  

    /** 
     * 獲取手機的可用內存 
     *  
     * @param context 
     * @return long類型數據 總的可用內存 
     */  
    public static long getAvailRam(Context context) {  
        ActivityManager am = (ActivityManager) context  
                .getSystemService(Context.ACTIVITY_SERVICE);  
        ActivityManager.MemoryInfo outInfo = new MemoryInfo();  
        am.getMemoryInfo(outInfo);  
        return outInfo.availMem;  
    }  

    /** 
     * 獲取手機的總內存 
     *  
     * @return 
     */  
    public static long getTotalRam() {  
        try {  
            File file = new File("/proc/meminfo");  
            FileInputStream fis = new FileInputStream(file);  
            BufferedReader br = new BufferedReader(new InputStreamReader(fis));  
            // MemTotal: 253604 kB  
            String result = br.readLine();  
            StringBuffer sb = new StringBuffer();  
            char[] chars = result.toCharArray();  
            for (char c : chars) {  
                if (c >= '0' && c <= '9') {  
                    sb.append(c);  
                }  
            }  
            return Long.parseLong(sb.toString()) * 1024;  
        } catch (Exception e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
            return 0;  

        }  
    }  
}  </pre> 


 本文由用戶 f25p 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!