CSDN-Ada助手 2023-05-31 21:16 采纳率: 1.6%
浏览 18

如何获取安卓总的存储使用情况,特别是系统占据的空间?_(语言-java)

该问题来自社区帖: https://bbs.csdn.net/topics/615642377.为符合问答规范, 该问题经过ChatGPT优化
如何获取安卓总的存储使用情况,特别是系统占据的空间? 以下代码可以获取到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;
通过以上两个步骤,你就可以得出系统占据的空间大小了。因为不同设备的系统空间大小可能会有所不同,所以需要自行调试求解。
  • 写回答

2条回答 默认 最新

  • 于扶摇 2023-05-31 22:41
    关注

    获取整个存储空间的总大小和剩余空间的大小。您可以使用StatFs类来获取这些信息。
    计算出系统空间占据的大小。您可以使用总大小减去剩余空间大小来求得系统占据的空间大小。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月31日