Android How do you get total memory RAM in the device?
I can get total available memory by:
ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
activityManager.getMemoryInfo(memoryInfo);
memoryInfo.availMem;
However, how do you get Total memory (RAM) of the device?
I did read: How do I discover memory usage of my application in Android?
It doesn't seem like adding pidMe开发者_如何转开发moryInfo.getTotalPss() gives me the total memory either.
Try this works for me.
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;
}
If you don't find something else, you could bypass android and read /proc/meminfo which is what the 'free' command on a more ordinary linux distribution does
MemoryInfo class has added totalMem in API 16. Please give a try.
public long totalMem Added in API level 16 The total memory accessible by the kernel. This is basically the RAM size of the device, not including below-kernel fixed allocations like DMA buffers, RAM for the baseband CPU, etc.
精彩评论