iOS Safari清除缓存的频率是多久?

7
我使用移动版Safari缓存来存储一些需要持久化的数据,所以我希望它们能在Safari和iOS重启后都能保留。(请不要建议我在这里使用cookie或本地存储 - 这不是我所问的问题。)
然而,我已经阅读了一些新的some newsome old报告,称Safari在重新启动时会清除其缓存。但是我的非科学测试显示,在Safari 8.3上,有时这个缓存实际上不仅可以在应用程序重新启动时保留,甚至可以在iOS重新启动时保留(!)。
所以我有点困惑。
iOS Safari缓存清除规则是否有文档记录?
你们中有人知道这些规则并能向我(和世界)解释吗?

1
苹果的Safari客户端存储和离线应用程序编程指南仍建议使用本地存储。https://developer.apple.com/library/safari/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/Introduction/Introduction.html - Juri Noga
2个回答

3

希望有人能证明我是错误的,但是...

我搜索了很多,猜测在Safari中自动清理策略如何工作的资源并没有,而且知道苹果的政策,我猜想这是因为这个信息对于用户和开发者都不是必要的。

如果你想要请求Safari保护你的缓存,你可以使用如下所述的Manifest文件: https://developer.apple.com/library/ios/documentation/AppleApplications/Reference/SafariWebContent/Client-SideStorage/Client-SideStorage.html#//apple_ref/doc/uid/TP40002051-CH4-SW1


1
不幸的是,为了让清单文件起作用,整个站点都需要属于您,也就是说您需要对<html>元素拥有控制权。而在我的情况下,这些站点不属于我,我没有这个权限。 - Greg Dubicki

0

我不确定对于iOS Safari而言是否也是如此,但一般情况下浏览器都会为缓存项目保留一些存储空间。当该空间填满时,它就会开始删除缓存。

另一个可能触发缓存清除的因素可能是操作系统尝试清理临时文件。

所以,简短的回答是:你不知道。这取决于用户使用频率和何时进行删除。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接