如何获取总内存(包括系统内存)
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。显然比较之前你应该转换为整数。
这段代码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。显然比较之前你应该转换为整数。