iOS是否会自动清理缓存目录?

时间:2019-02-18 11:36:39

标签: swift caching

我要在此路径下保存媒体文件,我想知道iOS是否会自动清除缓存或我必须手动执行此操作?

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

已搜索,没有特定答案。

2 个答案:

答案 0 :(得分:2)

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

Documentation

  

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

答案 1 :(得分:1)

是的,在某些情况下:

  

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

     

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

     

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

您可以查看this intro以获得更多信息。