我们需要清理下载的图像文件吗?

时间:2016-01-27 17:52:13

标签: ios iphone ios7

在我的iOS应用程序中,我正在下载一堆图像文件并将它们保存在磁带库/缓存中的磁盘上。我是否需要删除这些文件,因为当磁盘空间不足时,iOS会自动清除这些文件。

1 个答案:

答案 0 :(得分:5)

这取决于你保存它们的位置。请阅读File System Programming Guide以获取详细讨论。

在摘要中,如果要将文件保存到:

  • Temp :您不必担心清理,但您需要注意这些文件在应用启动之间不会存在
  • 库/缓存通常iOS不会删除这些文件,但可以在磁盘空间不足时运行它们。因此,开发人员必须确保在需要时可以重新生成这些文件。
  • 所有其他文件夹是的,您需要确保在不再需要时正确清理这些文件。

更新:现在您已指定要保存到库/缓存From Apple Docs关于缓存目录:< / p>

  

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

     

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

     

在iOS 5.0及更高版本中,系统可能会在系统磁盘空间非常少的情况下删除Caches目录。当应用程序运行时,这将永远不会发生。但是,您应该知道iTunes还原不一定是可以擦除Caches目录的唯一条件。

具体您的应用通常负责...根据需要添加和删除文件。,您应该始终自行清理。如果你知道你已经完成了这些文件,将它们保存在磁盘上并等待设备在低磁盘空间运行,以便操作系统删除它们是个坏主意。

顺便说一下,如果你是从网上下载文件,为什么不使用已经建立的文件库(这样你就不用担心这些事情了。)

  • 如果您正在为iOS 8.0+开发并使用Swift,则可以使用AlamofireImage作为嵌入式框架。它配备了一个非常好的缓存系统。我想你也可以通过复制Swift文件在iOS 7上使用它。
  • 如果您使用的是Objective C,则可以使用自带缓存系统的SDWebImage。您也可以使用AFNetworking并启用基本缓存,this blog post应该可以帮助您入门。
相关问题