首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >何时从NSCachesDirectory中删除文件?

何时从NSCachesDirectory中删除文件?
EN

Stack Overflow用户
提问于 2011-07-30 06:57:25
回答 3查看 14.1K关注 0票数 21

在什么情况下会删除iOS NSCachesDirectory中的文件?显然,删除并重新安装应用程序。那么应用程序升级呢?磁盘空间不足的情况会怎样?还要别的吗?

EN

回答 3

Stack Overflow用户

发布于 2011-11-02 10:21:31

我们的经验是,此文件夹在应用程序更新时会被清除。如果能确切地知道这个文件夹何时是要清除的候选文件夹,那就太好了。文档将该文件夹描述为

可丢弃缓存文件(库/缓存)的

位置

应用程序更新时不会清除NSDocumentDirectory,但请小心使用此文件夹,因为iOS 5现在使用此文件夹在iCloud中进行备份,如果您使用此目录存储用户生成的内容以外的任何内容,则您的应用程序可能会被拒绝。

票数 11
EN

Stack Overflow用户

发布于 2012-01-12 13:55:44

在应用程序更新期间,iOS不会删除库文件夹中的任何内容。

请查看来自Apple的以下文档,其中提到:

当用户下载应用程序更新时,iTunes会将更新安装到新的应用程序目录中。然后,在删除旧安装之前,它会将用户的数据文件从旧安装移到新的app目录中。在更新过程期间,保证保留以下目录中的文件:

应用程序_主页>/文档

Application_Home>/Library

尽管也可以移动其他用户目录中的文件,但您不应依赖它们在更新后仍然存在。

以下是指向此文档的链接:http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/PerformanceTuning/PerformanceTuning.html#//apple_ref/doc/uid/TP40007072-CH8-SW10

希望这能有所帮助。

票数 9
EN

Stack Overflow用户

发布于 2012-07-31 19:33:36

在内存不足的情况下可以删除NSCachesDirectory

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

more info

如果您不想删除您的文件,则必须将它们存储在Documents目录中,但这样做:

使用“不备份”属性指定应保留在设备上的文件,即使在存储空间不足的情况下也是如此。将此属性用于可以重新创建但即使在存储空间较低的情况下也需要保留的数据,以便应用程序正常运行,或者因为客户希望它在脱机使用期间可用。此属性适用于标记的文件,而不管这些文件位于哪个目录中,包括文档目录。这些文件不会被清除,也不会包含在用户的iCloud或iTunes备份中。由于这些文件确实使用设备上的存储空间,因此您的应用程序负责定期监控和清除这些文件。

more info

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6879860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档