1. 程式人生 > >Android 獲取手機儲存資訊詳解(記憶體,外存等)

Android 獲取手機儲存資訊詳解(記憶體,外存等)


ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); //系統記憶體資訊
ActivityManager.MemoryInfo memInfo = new ActivityManager.MemoryInfo();
am.getMemoryInfo(memInfo);
long  availRAMsize = memInfo.availMem;//818774016

final StatFs statFs = new StatFs(Environment.getDataDirectory().getPath());//呼叫該類來獲取磁碟資訊(而getDataDirectory就是內部儲存)
long tcounts = statFs.getBlockCount();//總共的block數            3196073
long counts = statFs.getAvailableBlocks() ; //獲取可用的block數   3029039
long size = statFs.getBlockSize(); //每格所佔的大小,一般是4KB==    4096
long availROMSize = counts * size;//可用內部儲存大小               12406943744
long totalROMSize = tcounts *size; //內部儲存總大小                13091115008

final StatFs statFs1 = new StatFs(Environment.getExternalStorageDirectory().getPath());//呼叫該類來獲取磁碟資訊(而getExternalStorageDirectory就是外接儲存)
long tcounts1 = statFs1.getBlockCount();//總共的block數             3196073
long counts1 = statFs1.getAvailableBlocks() ; //獲取可用的block數    3029039
long size1 = statFs1.getBlockSize(); //每格所佔的大小,一般是4KB==     4096
long availROMSize1 = counts1 * size1;//可用內部儲存大小               12406943744
long totalROMSize1 = tcounts1 *size1; //內部儲存總大小                13091115008
long totalROMSize2 = tcounts1 *size1; //內部儲存總大小