Android开发学习笔记之 获得Android 可使用内存
【摘要】
好多Android 开发者在开发过程中经常可以碰到 oom(内存溢出)问题,尤其是在 图片操作比较多的情况下,如果没有优化好,经常会碰到这个问题。这个时候都会想到 获得手机的总内存有多少 和 可使用内存有多少!下面给大家提供这两个方法分别获得 可用内存 和 Android总内存!话不多说 上代码!
...
好多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;
-
}
-
}
-
-
文章来源: wukong.blog.csdn.net,作者:再见孙悟空_,版权归原作者所有,如需转载,请联系作者。
原文链接:wukong.blog.csdn.net/article/details/44749461
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)