我试图弄清楚我的iPhone设备上还有多少可用空间,但即使它有足够的存储空间(超过40GB),它也会将Volume机会可用容量返回到零(0),有时甚至小于20MB。我不知道它是如何计算机会可用容量的,但我希望使用它,因为我认为使用它比使用Volume重要的可用容量更安全。即使在iPhone存储效率很高的情况下,也有可能返回如此低的数字吗?
let freeSpace: CGFloat = {
let fileURL = URL(fileURLWithPath: NSHomeDirectory() as String)
do {
let values = try fileURL.resourceValues(forKeys: [.volumeAvailableCapacityForOpportunisticUsageKey])
if let capacity = values.volumeAvailableCapacityForOpportunisticUsage {
return CGFloat(capacity)
} else {
return 0
}
} catch {
return 0
}
}()
我想知道为什么机会可用容量与重要可用容量有如此大的不同。
1条答案
按热度按时间guz6ccqo1#
机会可用容量和重要可用容量之间的报告值的差异可能是由于与iOS如何管理设备上的存储有关的各种因素。
机会可用容量表示当前可用于机会任务(如缓存和临时数据)的存储量。它考虑了可以临时使用的空间,并且可以理解,如果需要,它可以由系统回收。此值可以根据系统条件和资源需求而波动。
另一方面,重要可用容量表示可用于关键数据的存储量,例如用户生成的内容或基本应用程序功能。此值通常更保守,并考虑了长期存储需求和系统稳定性。
要获得设备上剩余的真实的存储量,您需要访问文件管理器文档目录路径: