我正在尝试计算 Android 中使用的文件存储总量。我使用了这里使用的递归函数
当我从我的 SD 卡的总存储空间中减去这个大小时,我得到的数字与 Android 使用 StatFs 提供的数字不同。
StatFs stat = new StatFs(path);
long blockSize = stat.getBlockSize();
long availableBlocks = stat.getFreeBlocks();
return Formatter.formatFileSize(ctx, availableBlocks * blockSize);
这不是几 Kb 的差异,而是在 16GB SD 卡中高达 2GB。
我检查了市场上的几个存储分析应用程序,它们也有同样的问题。他们说我有 8.3 Gb 空闲空间,而 Android 一直告诉它是 6 Gb(这与我将手机连接到 PC 时获得的值相同)。
我们在这里缺少什么?