亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Android獲得內部/外部內存的空閑大小

Android獲得內部/外部內存的空閑大小

函數式編程 2019-07-13 10:03:19
Android獲得內部/外部內存的空閑大小我希望以編程方式在設備的內部/外部存儲上獲得空閑內存的大小。我在使用這段代碼:StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath()); long bytesAvailable = (long)stat.getBlockSize() *(long)stat.getBlockCount(); long megAvailable = bytesAvailable / 1048576;Log.e("","Available MB : "+megAvailable); File path = Environment.getDataDirectory();StatFs stat2 = new StatFs(path.getPath()); long blockSize = stat2.getBlockSize();long availableBlocks = stat2.getAvailableBlocks(); String format =  Formatter.formatFileSize(this, availableBlocks * blockSize);Log.e("","Format : "+format);我得到的結果是:11-15 10:27:18.844: E/(25822): Available MB : 757211-15 10:27:18.844: E/(25822): Format : 869MB問題是,我想獲得sdCard的空閑內存,這是1,96GB現在就來。我怎樣才能修正這段代碼,才能得到自由大小呢?
查看完整描述

3 回答

?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

我就是這樣做的:

StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());long bytesAvailable;if (android.os.Build.VERSION.SDK_INT >= 
    android.os.Build.VERSION_CODES.JELLY_BEAN_MR2) {
    bytesAvailable = stat.getBlockSizeLong() * stat.getAvailableBlocksLong();}else {
    bytesAvailable = (long)stat.getBlockSize() * (long)stat.getAvailableBlocks();}long megAvailable = bytesAvailable / (1024 * 1024);
    Log.e("","Available MB : "+megAvailable);


查看完整回答
反對 回復 2019-07-13
  • 3 回答
  • 0 關注
  • 310 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號