如何获取安卓总的存储使用情况,特别是系统占据的空间? 以下代码可以获取到Android设备的内部存储路径和外部存储路径:
String path1 = Environment.getDataDirectory().getAbsolutePath(); Log.d(TAG, "path1: " + path1); //输出结果为: /data String path2 = Environment.getExternalStorageDirectory().getPath(); Log.d(TAG, "path2: " + path2); //输出结果为: /storage/emulated/0但是以上方法只能获得存储总量和剩余空间,无法直接获取系统占据的空间。 如果你想得到系统占据空间的具体数值,可以通过执行以下步骤进行自测: 步骤1:先获取出整个存储空间的总大小,和剩余空间的大小。
StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath()); long blockSize = stat.getBlockSize(); long totalBlocks = stat.getBlockCount(); long availableBlocks = stat.getAvailableBlocks();步骤2:计算出系统空间占据的大小,具体求法为:总大小 - 剩余空间。
long totalSize = totalBlocks * blockSize; long availSize = availableBlocks * blockSize; //得出总空间bigger long totalSize = bigger - availSize;通过以上两个步骤,你就可以得出系统占据的空间大小了。因为不同设备的系统空间大小可能会有所不同,所以需要自行调试求解。