我的應用程序正在SD卡上保存文件,但在保存文件之前我需要檢查是否有可用內存。我需要檢查SD卡上有多少空閒內存。檢查SD卡上是否有足夠的內存編程
喜歡的東西:
if(MemoryCard.getFreeMemory()>20Mb)
{
saveFiles();
}
else
{
Toast.makeText(this, "Not enough memory", 100).show();
}
我的應用程序正在SD卡上保存文件,但在保存文件之前我需要檢查是否有可用內存。我需要檢查SD卡上有多少空閒內存。檢查SD卡上是否有足夠的內存編程
喜歡的東西:
if(MemoryCard.getFreeMemory()>20Mb)
{
saveFiles();
}
else
{
Toast.makeText(this, "Not enough memory", 100).show();
}
來自:http://groups.google.com/group/android-developers/browse_thread/thread/ecede996463a4058
StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
long bytesAvailable = (long)stat.getBlockSize() * (long)stat.getBlockCount();
long megAvailable = bytesAvailable/1048576;
StatFs class
,你可以在這裏使用,爲您的內部和外部目錄提供的路徑,並計算出總,自由和可用的編緝空間。
StatFs memStatus = new StatFs(Environment.getExternalStorageDirectory().getPath());
long bytesAvailable = (long)memStatus.getBlockSize() * (long)memStatus.getAvailableBlocks();
查看documentation瞭解更多詳情。 bytesAvailable
是以字節爲單位,你可以將它轉換成你想要的任何格式。
如何從Android應用 – Raa 2013-11-11 09:36:30
對於安卓4.3+(API等級:18歲以上)
StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
long bytesAvailable = getAvailableBytes();
可以用編程檢查谷歌驅動器的可用空間stat.getAvailableBytes();對於android 4.3+(API 18+) – 2014-08-25 12:34:38
感謝Stevo.mit。我會看看更多信息的文檔:) – Shrikant 2014-08-25 12:48:42