Android獲取儲存空間的使用情況
看下讀取sd卡的:
Java程式碼
void readSDCard() {
String state = Environment.getExternalStorageState();
if(Environment.MEDIA_MOUNTED.equals(state)) {
File sdcardDir = Environment.getExternalStorageDirectory();
StatFs sf = new StatFs(sdcardDir.getPath());
long blockSize = sf.getBlockSize();
long blockCount = sf.getBlockCount();
long availCount = sf.getAvailableBlocks();
Log.d("", "block大小:"+ blockSize+",block數目:"+ blockCount+",總大小:"+blockSize*blockCount/1024+"KB");
Log.d("", "可用的block數目::"+ availCount+",剩餘空間:"+ availCount*blockSize/1024+"KB");
}
}
然後看下讀取系統內部空間的:
Java程式碼
void readSystem() {
File root = Environment.getRootDirectory();
StatFs sf = new StatFs(root.getPath());
long blockSize = sf.getBlockSize();
long blockCount = sf.getBlockCount();
long availCount = sf.getAvailableBlocks();
Log.d("", "block大小:"+ blockSize+",block數目:"+ blockCount+",總大小:"+blockSize*blockCount/1024+"KB");
Log.d("", "可用的block數目::"+ availCount+",可用大小:"+ availCount*blockSize/1024+"KB");
}
StatFs獲取的都是以block為單位的,這裡我解釋一下block的概念:
1.硬體上的 block size, 應該是"sector size",linux的扇區大小是512byte
2.有檔案系統的分割槽的block size, 是"block size",大小不一,可以用工具檢視
3.沒有檔案系統的分割槽的block size,也叫“block size”,大小指的是1024 byte
4.Kernel buffer cache 的block size, 就是"block size",大部分PC是1024
5.磁碟分割槽的"cylinder size",用fdisk 可以檢視。
我們這裡的block size是第二種情況,一般SD卡都是fat32的檔案系統,block size是4096.
這樣就可以知道手機的內部儲存空間和sd卡儲存空間的總大小和可用大小了。
相關推薦
Android獲取儲存空間的使用情況
android.os下的StatFs類主要用來獲取檔案系統的狀態,能夠獲取sd卡的大小和剩餘空間,獲取系統內部空間也就是/system的大小和剩餘空間等等。 看下讀取sd卡的:Java程式碼void readSDCard() { String st
android 獲取儲存空間大小
android手機上面的儲存空間主要有手機本身的儲存空間和SD卡的儲存空間。之前用的最多的是SD卡的儲存空間,在總結的時候看了一下系統的原始碼,很有收穫。在手機安裝應用時,系統會自動在/data/data目錄下面以應用的主包名建立一個目錄,預設還會在最後的那個目錄裡面
Android獲取儲存資訊
5.1和6.0以上獲取SD卡和USB(OTG)儲存大小: 要獲取儲存裝置的儲存大小,先需要獲取裝置的路徑,我這裡的裝置SD卡都只有一張,固定為/mnt/external_sd,USB口可能有多個,網上說的一般是/mnt/usb_storage,但我找個幾個5.1的平板都獲取不到,最後通過adb
Android獲取儲存裝置掛載路徑
Environment.getExternalStorageDirectory()是Android 2.x時代的產物,那時Android主流裝置只有很小的內建儲存器,然後都會外接一張sd卡,那時這個方法返回的就是外接sd卡的根路徑。 但隨著Android進入4
iOS獲取儲存空間大小(總共/剩餘)
/// 總大小 float totalsize = 0.0; /// 剩餘大小 float freesize = 0.0; /// 是否登入 NSError *error = nil; NSArray *path
android獲取手機內部儲存空間和外部儲存空間
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Android 獲取手機儲存總大小,系統佔用空間
一、Android 儲存介紹及通常查詢大小 手機儲存有兩種,內建記憶體和外接記憶體(SD),目前可擴充套件記憶體的機型正在減少,大部分是內建儲存的手機,內建128G、256G已經很常見,但如果有擴充套件功能的話,買個乞丐版+SD卡也是美滋滋,畢竟廠家增加儲存空間後手機定價也不便宜。言
android獲取有效可用儲存空間大小
/** * 獲取有效可用空間大小,單位byte * @param path * @return */ @SuppressLint("NewApi") private long getAvailableBytesByPath(String path) {
Android獲取SD卡及內部儲存空間總大小和可用大小
android.os下的StatFs類主要用來獲取檔案系統的狀態,能夠獲取sd卡的大小和剩餘空間,獲取系統內部空間也就是/system的大小和剩餘空間等等。 看下讀取sd卡的: void readSDCard() { String
Android獲取外部和內部儲存空間總大小
android.os下的StatFs類主要用來獲取檔案系統的狀態,能夠獲取sd卡的大小和剩餘空間,獲取系統內部空間也就是/system的大小和剩餘空間等等。 看下讀取sd卡的: Java程式碼 void readSDCard() {
Android獲取外部和內部儲存空間總大小和可用大小
android.os下的StatFs類主要用來獲取檔案系統的狀態,能夠獲取sd卡的大小和剩餘空間,獲取系統內部空間也就是/system的大小和剩餘空間等等。 看下讀取sd卡的: Java程式碼 void readSDCard() {
C# 根據磁碟碟符獲取磁碟儲存空間
本章講述:根據磁碟碟符獲取磁碟總的儲存容量和可用儲存容量; /// 獲取指定驅動器的空間總大小(單位為B) /// </summary> /// <param name="str_HardDiskName">只需輸入代表驅動器的字母即可 </param>
Android 本地儲存之外部儲存/內部儲存路徑獲取大全
//:/system String rootDir = Environment.getRootDirectory().toString(); System.out.println("Environment.getRootDirectory()=:" +
Android 獲取手機儲存資訊詳解(記憶體,外存等)
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); //系統記憶體資訊 ActivityManager.MemoryInfo memInfo = new ActivityManager
Android 內建儲存空間的操作。
1,開發中遇到沒有內建SDK的情況。之前沒搞過,今天搞了一下午。終於找到原因了,特此記下來。 首先感謝這位:http://aijiawang-126-com.iteye.com/blog/792931 我的網路請求用的是OKGO。 直接貼程式碼 /** * APP下
Android 動態獲取儲存、位置、電話的許可權(附程式碼)
今天客戶提出上傳資訊時需攜帶經緯度,且需要兩種獲取位置的方式;故經思考使用了GPS和網路獲取位置,但在經過實地測試的時候才發現沒寫獲取許可權。 便在登入介面加上獲取許可權程式碼,此次獲取的是儲存、位置
android獲取assets內容複製到本地儲存
新建的專案,一定要記得新增讀寫檔案的許可權啊,不然沒有效果的,你不加許可權,沒有效果請不要找我 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
儲存空間滿了,如何刪除下載的android 模擬器
背景:因為d盤快滿了,不得不清理磁碟 android 模擬器佔用空間非常大,達到10多G。對我這個磁碟只有240GB的固態硬碟,實在是有點傷。 大家都知道模擬器是安裝在sdk目錄的。如果不清楚sdk目錄結構的,可以開啟下面連線檢視。 system-images:系統
【Tricks】 Android 儲存空間相關
1. 填滿儲存儲存空間方法: 1.1 填滿手機空間 在mnt/sdcard目錄下建立一個檔案,並且快速增長,填充滿手機內部儲存空間 adb shell dd if=/dev/zero of=/mnt/sdcard/bigfile 寫完後: 1.2 或者指定填充大小:
mono for android 獲取手機照片或拍照並裁剪儲存
using System; using Android.App; using Android.Content; using Android.Widget; using Android.OS; using Android.Graphics; using System.IO; names