iOS 会自动清理缓存目录吗?

Tom*_*yer 9 caching swift

我正在此路径中保存媒体文件,我想知道 iOS 是自动清理缓存还是我必须手动清理?

let documentsUrl = self.fileManager.urls(for: .cachesDirectory, in: .userDomainMask).first!

搜索过,没有特别的答案。

Scr*_*ble 15

如果需要,操作系统可以清除此文件夹。

文档

将数据缓存文件放在 Library/Caches/ 目录中。缓存数据可用于任何需要比临时数据持久化的数据,但不能像支持文件一样长。一般来说,应用程序不需要缓存数据才能正常运行,但可以使用缓存数据来提高性能。缓存数据的示例包括(但不限于)数据库缓存文件和瞬态的可下载内容。请注意,系统可能会删除 Caches/ 目录以释放磁盘空间,因此您的应用必须能够根据需要重新创建或下载这些文件。(强调我的)


CIM*_*nuv 6

是的,在某些情况下:

使用此目录编写您的应用程序可以轻松重新创建的任何特定于应用程序的支持文件。您的应用程序通常负责管理此目录的内容并根据需要添加和删除文件。

在 iOS 2.2 及更高版本中,iTunes 或 iCloud 不备份此目录的内容。此外,系统会在设备完全恢复期间删除此目录中的文件。

在iOS 5.0及更高版本中,当系统磁盘空间非常低时,系统可能会在极少数情况下删除Caches目录。当应用程序运行时,这种情况永远不会发生。但是,请注意,从备份恢复不一定是可以擦除 Caches 目录的唯一条件。

您可以查看文件系统编程指南以获取更多信息。