我可以通过以下方式获得总可用内存:
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()给我总内存。
答案 0 :(得分:15)
试试这个适合我。
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;
}
答案 1 :(得分:3)
如果你没有找到别的东西,你可以绕过android和read / proc / meminfo,这是更普通的linux发行版上的'free'命令
答案 2 :(得分:3)
MemoryInfo类在API 16中添加了totalMem。请试一试。
公共长期总计.Mem 在API级别16中添加 内核可访问的总内存。这基本上是设备的RAM大小,不包括DMA缓冲区,基带CPU的RAM等内核固定分配等。