什么会触发iOS 5.0的缓存清除?

5

从iOS 5.0开始,苹果公司开始在设备使用空间过多时清除应用程序内的缓存目录。请问有人能告诉我缓存清理发生的阈值(例如磁盘使用量达到90%以上)和清理频率的文档或相关信息所在位置吗?请注意,本文中保留了HTML标签。

2个回答

3
根据我的测试,当设备使用空间超过所报告的可用空间时(似乎iPhone会虚报可用空间以防止您进入保留空间),擦除操作似乎会发生在所有未运行的应用程序上。当您跨越这条线时,会弹出对话框: iPhone too much space Dialogue 当您点击“完成”后,它会擦除空间。这是我能够可靠地重现触发擦除的唯一情况(用于测试/等等),我通过尽可能多地填充我的设备与电影和音乐,然后在DropBox中下载大文件来实现。

2
据我所知,关于清理的时间还没有官方信息,并且说实话,你不应该试图去预测它。不过这确实是一个问题。值得庆幸的是,苹果已经意识到了这一点,并且从iOS 5.0.1开始,你可以设置“不备份”标志:http://developer.apple.com/library/ios/#qa/qa1719/_index.html,因此你需要将那些文件放置在你的应用程序的Documents/目录或者你的应用程序的Library/Private Documents/目录下,并设置“不备份”的属性。

也许不能预测它,但复制它会很好。具体来说,在iOS 5.0.0上,由于安全原因,我们将文件存储在缓存中以防止备份,但后来它们开始被清除。现在,我们将其保存在iOS 5.0.1+的私有目录中(设置了不备份标志),但对于iOS 5.0,我们没有解决方法(无法备份,无法清除),除了提醒用户可能会在发生之前失去他们的数据。 - BadPirate
那我们能否设置“不清除”标志,以便它在IOS 5.0.1上运行?苹果公司会拒绝应用程序吗? - CKT

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