在 Android 12 中,此方法调用需要几秒钟才能返回:
val descriptor = contentResolver.openAssetFileDescriptor(rootUri, "r")
我向它传递一个树 Uri,它代表 USB 驱动器的根。该调用需要更长的时间,具体取决于根上占用的空间量。所以对于 1GB 来说,大约需要 10 秒。在以前的 Android 版本中,情况并非如此,调用只需几毫秒即可返回。
我的目标是使用下面的代码测量 USB 驱动器上的空间。我还能做些什么来在合理的时间内完成这项工作吗?
val descriptor = contentResolver.openAssetFileDescriptor(rootUri, "r")
val stats = Os.fstatvfs(descriptor!!.fileDescriptor)
val availableSpace = stats.f_bavail * stats.f_bsize
相关链接
Google 问题跟踪器链接与示例项目
对于 Android 12,您可以请求原始文件访问权限。 (忘记权限的正确名称)
当您执行所有文件操作时都会经过媒体存储。
值得一试。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)