2015-06-14 28 views
0

此代碼返回總內存大小:如何獲得總內存(包括系統內存)

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注3是32 GB的總內部存儲器中,但此函數僅返回26.18 GB

如何確定整個內部存儲器,包括缺少5.82 GB的系統內存?

+0

爲什麼會有人對他們不能使用的記憶感興趣? – NiVeR

+0

因爲我想知道製造商指出的內部存儲器的總容量。 – pudnivec74

+1

我不明白這有什麼用處,但我想你可以通過查找第一個大於金額的數字並且是2的冪來得到它。 – NiVeR

回答

1

可能工作的基本思想是計算第一個數是2的冪,它大於從函數返回的數。

Ex: 2^5 = 32 > 26 

在這種情況下,您的數字是32.您應該轉換爲整數,然後再比較明顯。