Android如何获得设备的总内存RAM?

时间:2010-10-22 16:06:59

标签: android api memory

我可以通过以下方式获得总可用内存:

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()给我总内存。

3 个答案:

答案 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等内核固定分配等。