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