package com.zaizai.safty.utils;import android.app.ActivityManager;import android.content.Context;import android.content.pm.PackageManager;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStreamReader;import java.util.List;/** * Created by zaizai on 2015/11/15. */public class SystemInfoUtils {    /**     * 获取正在运行的进程的数量     *     * @param context 上下文     * @return the running process count in devices     */    public static int getRunningProcessCount(Context context) {        /*PackageManager 包管理器,相当于程序管理器,静态的内容*/        /*ActivityManager 进程管理器。管理手机活动的信息*/        ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);        List<ActivityManager.RunningAppProcessInfo> appProcessInfos = activityManager.getRunningAppProcesses();        return appProcessInfos.size();    }    /**     * 获取手机可用可用内存数量     *     * @param context     * @return     */    public static long getAvailableRemainsMemoryCount(Context context) {        ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);        ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();        activityManager.getMemoryInfo(memoryInfo);        return memoryInfo.availMem;    }    /**     * 获取手机可用总内存数量     *     * @param context     * @return     */    public static long getTotalRemainsMemoryCount(Context context) {        /*只能在4.0以上运行*/       /* ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);        ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();        activityManager.getMemoryInfo(memoryInfo);        return memoryInfo.totalMem;*/
使用下面代码可兼容低版本        try{            File file = new File("/proc/meminfo");            FileInputStream fis = new FileInputStream(file);            BufferedReader br = new BufferedReader(new InputStreamReader(fis));            String line = br.readLine();            StringBuffer sb = new StringBuffer();            for (char c : line.toCharArray()) {                if(c >= '0' && c <= '9'){                    sb.append(c);                }            }            return Integer.parseInt(sb.toString())*1024l;        }catch(Exception e){            e.printStackTrace();            return 0;        }    }}

更多相关文章

  1. android下为自己定义wifimanager类
  2. java 编译中常用函数
  3. JAVA-ANDROID
  4. 福利篇:学习编程视频免费领取
  5. Android(安卓)getIdentifier()使用
  6. Android范例编程一:获取地理位置
  7. android获取屏幕尺寸、密度(判断手机屏幕类型)
  8. 2.2 窗口屏幕参数及UI样式---Display 和Style
  9. android如何获取设备的唯一设备码

随机推荐

  1. Build Variants Android变体构建配置
  2. Android 实现拍照功能
  3. android之sharedpreference读取参数
  4. Android Notification 填充 自定义布局
  5. android的service如何接收触摸事件。
  6. Android时间工具类 本地转UTC,UTC转本地
  7. Android中GridView来显示图片
  8. Android菜单实现两种方式
  9. android edittext编辑框光标改变事件
  10. android之File