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

如何获取安卓总的存储使用情况,特别是系统占据的空间?_(语言-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日

悬赏问题

  • ¥15 Protege 中的Entities下面的界面删除了如何复原
  • ¥15 scrapy爬虫求帮
  • ¥15 imageEnView绘图问题
  • ¥15 关于#python#的问题:您好可以加您一下联系方式吗,在复现的时候确实有点问题难以解决
  • ¥15 联想电脑重装系统时无法发现硬盘
  • ¥15 MATLAB与UR10e实体机械臂建立通讯
  • ¥15 c++题需要快一点不用opencv
  • ¥15 关于#java#的问题:想要咨询Flowable流程引擎框架的问题
  • ¥15 vscode里面怎么用plaformio强调串口啊
  • ¥20 针对计算后数据做一致性检验可以用Bland Altman法吗