gpt4 book ai didi

java - 当我使用 StatFs 获取 Android 设备的总内部存储大小时出错

转载 作者:行者123 更新时间:2023-11-30 07:52:59 31 4
gpt4 key购买 nike

当我使用 StatFs 获取我的 Galaxy S7 的总内部存储空间时,它没有返回真实的字节数:

statFs = new StatFs(Environment.getDataDirectory().getAbsolutePath());

final long blockSize = statFs.getBlockSizeLong();
final long totalBlocks = statFs.getBlockCountLong();
final long freeBlocks = statFs.getAvailableBlocksLong();

final long totalBytes = blockSize * totalBlocks;
final long freeBytes = blockSize * freeBlocks;

在我的 Galaxy S7 (32GB) 上,它显示:26426515456 字节,仅对应 24.61GB?

最佳答案

it's not returning the true amount of bytes ?

根据定义,它返回“真实的字节数”。 返回的是您期望的数字。

StatFs报告有关特定分区上文件系统的统计信息,无论您传递的文件所在的分区是什么。一个 32GB 的 Android 设备不会有一个单独的 32GB 分区。那32GB会被分成几个分区。虽然您将能够获得有关包含内部存储和外部存储的分区的统计信息,但单独的分区将包含其他内容,例如用于恢复出厂设置的恢复分区。

您可以尝试运行 adb shell df查看您设备上的某些分区(这适用于运行 Android 7.1 的 Pixel,但我不知道 df 命令有多常见)。

关于java - 当我使用 StatFs 获取 Android 设备的总内部存储大小时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45192392/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com