在iOS应用中使缓存数据无效的理想时间

时间:2013-06-26 03:29:58

标签: ios caching core-data

所以我正在开发一个iOS应用程序,它使用Core Data作为存储在远程服务器上的数据的本地离线存储。想想Mail.app保存最新的 n 消息的方式。现在,应用程序非常天真地存储所有这些数据,而不删除任何旧数据。

我的问题是:在iOS应用的生命周期中,处理删除缓存数据等任务的最佳时间是什么?我已经知道如何我要删除这些旧数据,但这样做是一项昂贵的操作。所以我想知道的是,何时执行这种昂贵操作的最佳时机是。

2 个答案:

答案 0 :(得分:1)

如果不是太麻烦,那么当应用程序进入后台时这样做将是一个很好的时机。但是,如果大约需要10秒或更长时间,请确保设置后台任务以允许您再运行一段时间。

答案 1 :(得分:0)

您可以使用GCD或NSOperationQueue在后台运行此操作。从服务器获取新数据后,我会这样做,然后删除旧缓存,并构建新缓存。如果您将昂贵的操作移到后台(线程,块,NSOperation或您喜欢的任何地方),那么最好使用子NSMagaedObjects进行同步。