如何获取总内存(包括系统内存)

How to get total internal memory (including system memory)

这段代码return内存总大小:

public static String getTotalInternalMemorySize() {
    File path = Environment.getDataDirectory();
    StatFs stat = new StatFs(path.getPath());
    long blockSize = stat.getBlockSize();
    long totalBlocks = stat.getBlockCount();
    return formatSize(totalBlocks * blockSize);
}

但是这个大小没有系统使用的内存。

比如在GALAXY NOTE 3上是总内存32GB,但是这个功能return只有26.18GB.

如何确定包括丢失的 5.82 GB 系统内存在内的整体内存?​​

可能可行的基本思路是计算第一个数,即 2 的幂,并且它大于您从函数返回的数。

Ex: 2^5 = 32 > 26

在这种情况下你的数字是32。显然比较之前你应该转换为整数。