Android 通过getDataDirectory()和getRootDirectory()检查可用空间不相同
我试图通过使用Android 通过getDataDirectory()和getRootDirectory()检查可用空间不相同,android,android-storage,Android,Android Storage,我试图通过使用getDataDirectory().getPath()和getRootDirettory().getAbsolutePath()检查android手机上的可用空间,我得到了这些结果 使用getRootDirectory().getAbsolutePath() 日志: W/路径:/system W/路径:/system W/按环境列出的可用字节。getRootDirectory()。getAbsolutePath():: 91 使用getRootDirectory().getPa
getDataDirectory().getPath()
和getRootDirettory().getAbsolutePath()
检查android手机上的可用空间,我得到了这些结果
使用getRootDirectory().getAbsolutePath()
日志:
W/路径:/system
W/路径:/system
W/按环境列出的可用字节。getRootDirectory()。getAbsolutePath()::
91
使用
getRootDirectory().getPath()
日志:
W/路径:/data
W/路径:/data
W/按环境列出的可用字节。getDataDirectory().getPath()::21426
MB或20.924 GB
但当我从手机中的设置中查看可用空间时,仅显示:20.34 GB
检查手机可用空间的最佳准确方法是什么?为什么getRootDirectory().getAbsolutePath()
和getDataDirectory.getPath()
不提供相同的空间
检查可用空间的最佳准确方法是什么
最好使用检查可用内存
内部存储器中有
/data分区:仅包含用户数据//getDataDirectory()
/system分区:包含核心Android操作系统//getRootDirectory()
为什么选择getRootDirectory().getAbsolutePath()和
getDataDirectory().getPath()不提供相同的空间
因为它们是不同的目录
你可以用
final StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
long totalinternal = (long) stat.getBlockSize() * (long) stat.getBlockCount();
long available = (long) stat.getBlockSize() * (long) stat.getAvailableBlocks();
检查可用空间的最佳准确方法是什么
最好使用检查可用内存
内部存储器中有
/data分区:仅包含用户数据//getDataDirectory()
/system分区:包含核心Android操作系统//getRootDirectory()
为什么选择getRootDirectory().getAbsolutePath()和
getDataDirectory().getPath()不提供相同的空间
因为它们是不同的目录
你可以用
final StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
long totalinternal = (long) stat.getBlockSize() * (long) stat.getBlockCount();
long available = (long) stat.getBlockSize() * (long) stat.getAvailableBlocks();
final StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
long totalinternal = (long) stat.getBlockSize() * (long) stat.getBlockCount();
long available = (long) stat.getBlockSize() * (long) stat.getAvailableBlocks();