获取 Android 设备的总内存
Fetch total Memory of Android Device
我正在尝试获取 Android 设备的总内存。但它 returns 我是 24GB。但是,设备的总内存为 32GB。
我尝试使用...
public long getInternalFreeSpace() {
//Get free Bytes...
long bytesAvailable = stat.getBlockSizeLong() * stat.getAvailableBlocksLong();
return bytesAvailable;
}
试试这个:
public long getInternalFreeSpace(){
StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
return long bytesAvailable = (long)stat.getBlockSize() *(long)stat.getBlockCount();
}
阅读StatFs.
Retrieve overall information about the space on a filesystem
private static long getInternalMemorySize()
{
final File pathOBJ = Environment.getDataDirectory();
final StatFs stat = new StatFs(pathOBJ.getPath());
final long blockSize;
final long totalBlocks;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2)
{
blockSize = stat.getBlockSizeLong();
totalBlocks = stat.getBlockCountLong();
} else
{
blockSize = stat.getBlockSize();
totalBlocks = stat.getBlockCount();
}
return totalBlocks * blockSize;
}
试试这个,让我知道它是否适合你..
StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
long bytesAvailable = (long)stat.getBlockSize() *(long)stat.getBlockCount();
long megAvailable = bytesAvailable / 1048576;
使用这个:
public static long getAvailableInternalMemorySize() {
File path = Environment.getDataDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long availableBlocks = stat.getAvailableBlocks();
long size = availableBlocks * blockSize;
long availableBlocksInKB = size /= 1024;
long availableBlocksInMB = availableBlocksInKB /= 1024;
return availableBlocksInMB;
}
stat.getBlockSizeLong() * stat.getFreeBlocksLong();
https://developer.android.com/reference/android/os/StatFs.html#getFreeBlocksLong()
我正在尝试获取 Android 设备的总内存。但它 returns 我是 24GB。但是,设备的总内存为 32GB。
我尝试使用...
public long getInternalFreeSpace() {
//Get free Bytes...
long bytesAvailable = stat.getBlockSizeLong() * stat.getAvailableBlocksLong();
return bytesAvailable;
}
试试这个:
public long getInternalFreeSpace(){
StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
return long bytesAvailable = (long)stat.getBlockSize() *(long)stat.getBlockCount();
}
阅读StatFs.
Retrieve overall information about the space on a filesystem
private static long getInternalMemorySize()
{
final File pathOBJ = Environment.getDataDirectory();
final StatFs stat = new StatFs(pathOBJ.getPath());
final long blockSize;
final long totalBlocks;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2)
{
blockSize = stat.getBlockSizeLong();
totalBlocks = stat.getBlockCountLong();
} else
{
blockSize = stat.getBlockSize();
totalBlocks = stat.getBlockCount();
}
return totalBlocks * blockSize;
}
试试这个,让我知道它是否适合你..
StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
long bytesAvailable = (long)stat.getBlockSize() *(long)stat.getBlockCount();
long megAvailable = bytesAvailable / 1048576;
使用这个:
public static long getAvailableInternalMemorySize() {
File path = Environment.getDataDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long availableBlocks = stat.getAvailableBlocks();
long size = availableBlocks * blockSize;
long availableBlocksInKB = size /= 1024;
long availableBlocksInMB = availableBlocksInKB /= 1024;
return availableBlocksInMB;
}
stat.getBlockSizeLong() * stat.getFreeBlocksLong();
https://developer.android.com/reference/android/os/StatFs.html#getFreeBlocksLong()