为了回应Apple对iOS数据存储指南的更改,我最近重新配置了一个iPad应用程序,用于将其文档(50MB +)存储在library / caches文件夹中。
在iOS模拟器中进行测试时,我在模拟更新时没有看到此缓存有任何问题(遵循Brad Larsson的suggestion)。我还尝试删除library / caches文件夹的所有内容,以确保我的应用程序可以恢复。
然而,当我发布应用程序升级时,我发现我的用户抱怨可以追溯到iPad部分删除此缓存的问题。看起来子文件夹结构至少部分保持不变,但子文件夹内容已被删除。
我已经重新设计了应用程序以在升级过程中处理这种情况,但我担心当iPad决定清除库/缓存时会发生什么。
有没有人对iPad尝试删除此缓存中的项目的时间有任何经验或洞察力?
由于
答案 0 :(得分:6)
这个问题没有100%明确答案,因为Apples iOS数据存储指南非常模糊......他们没有解释iOS 5将在哪些情况下删除缓存目录中的数据......
在大多数情况下,当磁盘空间不足时,iOS会开始杀死文件,但有时我的应用程序会因为没有充分理由而丢失数据。所以我已经实现了某种恢复方式来重新下载/生成应用程序所需的文件。
这篇文章很有意思:http://iphoneincubator.com/blog/data-management/local-file-storage-in-ios-5
答案 1 :(得分:1)
documentation声明如下:
在iOS 5.0及更高版本中,系统可能会删除Caches目录 系统磁盘空间非常低的极少数情况。 这会 在应用程序运行时永远不会发生。但是,您应该知道这一点 iTunes恢复不一定是唯一的条件 缓存目录可以删除。
关于它的部分从未在应用程序运行时发生对我们的应用程序至关重要,并且是一个非常好的保险,我们不会出现意外行为。