Android开发学习笔记之 获得Android 可使用内存

来源:互联网 发布:希洛·皮特 知乎 编辑:程序博客网 时间:2024/05/18 02:44

好多Android 开发者在开发过程中经常可以碰到 oom(内存溢出)问题,尤其是在 图片操作比较多的情况下,如果没有优化好,经常会碰到这个问题。这个时候都会想到  获得手机的总内存有多少 和  可使用内存有多少!下面给大家提供这两个方法分别获得 可用内存 和 Android总内存!话不多说 上代码!

  

// 获得可用的内存public class memInfo {      public static long getmem_UNUSED(Context mContext) {        long MEM_UNUSED;// 得到ActivityManager        ActivityManager am = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);// 创建ActivityManager.MemoryInfo对象          ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo();        am.getMemoryInfo(mi);// 取得剩余的内存空间         MEM_UNUSED = mi.availMem / 1024;        return MEM_UNUSED;    }    // 获得总内存    public static long getmem_TOLAL() {        long mTotal;        // /proc/meminfo读出的内核信息进行解释        String path = "/proc/meminfo";        String content = null;        BufferedReader br = null;        try {            br = new BufferedReader(new FileReader(path), 8);            String line;            if ((line = br.readLine()) != null) {                content = line;            }        } catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        } finally {            if (br != null) {                try {                    br.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }        // beginIndex        int begin = content.indexOf(':');        // endIndex        int end = content.indexOf('k');        // 截取字符串信息content = content.substring(begin + 1, end).trim();        mTotal = Integer.parseInt(content);        return mTotal;    }}

3 0