【问题标题】:When does iPad clear library/caches?iPad 何时清除库/缓存?
【发布时间】:2012-03-15 01:59:58
【问题描述】:

为了响应 Apple 对 iOS 数据存储指南的更改,我最近重新配置了一个 iPad 应用程序,将其文档 (50MB+) 存储在 library/caches 文件夹中。

在 iOS 模拟器中进行测试期间,我在模拟更新时没有发现此缓存有任何问题(遵循 Brad Larsson 的 suggestion)。我还尝试删除 library/caches 文件夹的所有内容,以确保我的应用可以恢复。

但是,当我发布应用升级时,我发现我的用户抱怨追溯到 iPad 部分删除此缓存的问题。似乎子文件夹结构至少部分保持不变,但子文件夹内容已被删除。

我重新设计了应用程序以在升级期间处理这种情况,但我担心 iPad 决定清除库/缓存时会发生什么。

是否有人对 iPad 尝试删除此缓存中的项目的时间有任何经验或见解?

谢谢

【问题讨论】:

    标签: ios ipad


    【解决方案1】:

    这个问题没有 100% 明确的答案,因为 Apple 的 iOS 数据存储指南非常模糊……他们没有解释 iOS 5 在哪些情况下会删除缓存目录中的数据……

    在大多数情况下,iOS 会在磁盘空间不足时开始杀死文件,但有时我的应用会无缘无故丢失数据。所以我确实实施了某种恢复模式来重新下载/生成应用程序需要的文件。

    这篇文章很有意思:http://iphoneincubator.com/blog/data-management/local-file-storage-in-ios-5

    【讨论】:

    • 谢谢,特别是链接。我非常怀疑库/缓存应该在更新之间保持不变的说法。对我来说似乎不是这样。
    • 没问题。是的——一团糟……也许它很快就会修好:)
    • 好问题和好答案,我一直面临着完全相同的问题。不知何故,系统有选择地从缓存中删除文件。它也不会删除所有文件,但我不知道它是如何实现的,它似乎可以智能地删除最不可能使用的文件。我现在正在考虑从 /caches 目录中移动文件,而是将它们存储在 /documents 目录中。
    【解决方案2】:

    documentation 声明如下:

    在 iOS 5.0 及更高版本上,系统可能会删除 Caches 目录 很少有系统磁盘空间非常低的情况。 这将 应用程序运行时永远不会发生。 但是,您应该注意 iTunes 恢复不一定是唯一的条件 可以擦除缓存目录。

    在应用程序运行时从未发生的部分对我们的应用程序来说至关重要,并且是我们不会遇到意外行为的一个非常好的保险。

    【讨论】:

      猜你喜欢
      • 2012-05-28
      • 1970-01-01
      • 1970-01-01
      • 2015-04-13
      • 2018-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多