2010-10-22 84 views
17

我可以得到总的可用内存:Android如何在设备中获得全部内存RAM?

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

我想你可以这样做'memoryInfo.totalMem' – 2016-09-07 05:45:25

回答

14

试试这个对我的作品。

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; 
} 
+0

这不起作用注意3. – user65721 2014-04-11 17:03:05

+0

不,这是不给任何内存大小的老兄它的打印,然后读取字符串对象,如“读者是== [email protected]” – 2014-06-20 11:29:23

+1

为什么注释掉清理? – 2014-07-03 15:29:38

3

如果不找点别的事情,你可以绕过Android和读取的/ proc/meminfo中这就是一个更为普通的Linux发行版的“自由”命令执行

3

MemoryInfo类在API 16中添加了totalMem。请试一试。

public long totalMem 在API级别16中添加 内核可访问的总内存。这基本上是设备的RAM大小,不包括像DMA缓冲区那样的内核固定分配,基带CPU的RAM等。

相关问题