我可以通过以下方式获取总可用内存:
ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
activityManager.getMemoryInfo(memoryInfo);
memoryInfo.availMem;
但是,如何获得设备的总内存(RAM)?
我读过:How do I discover memory usage of my application in Android?
添加pidMemoryInfo.getTotalPss()似乎也不能给我提供总内存。
发布于 2012-11-28 18:28:38
试试这个对我很管用。
public static String getTotalRAM() {
RandomAccessFile reader = null;
String load = null;
try {
reader = new RandomAccessFile("/proc/meminfo", "r");
load = reader.readLine();
} catch (IOException ex) {
ex.printStackTrace();
} finally {
// Streams.close(reader);
}
return load;
}
发布于 2010-10-23 09:46:46
如果你找不到其他的东西,你可以绕过android,阅读/proc/meminfo,这是一个普通的linux发行版上的'free‘命令所做的事情
发布于 2013-02-07 03:16:56
MemoryInfo类在API 16中增加了totalMem,请尝试一下。
public long totalMem在API16级中添加了内核可访问的总内存。这基本上是设备的RAM大小,不包括内核以下的固定分配,如DMA缓冲区、基带CPU的RAM等。
https://stackoverflow.com/questions/3998713
复制相似问题