applicationDidEnterBackground:以及在数据库上写入的时间

时间:2011-01-22 19:12:46

标签: database ios background writing

当应用程序终止时,我在数据库上写入数据。

从iOS 4开始,applicationWillTerminate:未被调用,我在applicationDidEnterBackground:和applicationWillTerminate中都添加了相同的保存代码:

我读到applicationDidEnterBackground中执行的任务:需要花费一些时间。

所以,如果db上的写作需要更多,我该怎么办呢?

1 个答案:

答案 0 :(得分:4)

您可以在applicationDidEnterBackground:方法中执行任何保存等5秒钟。

如果您需要超过5秒,则需要使用此UIApplication方法来请求后台线程,以便有更多时间做您需要的任何事情:

- (UIBackgroundTaskIdentifier)beginBackgroundTaskWithExpirationHandler:(void(^)(void))handler

以下是Apple的示例代码:

http://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html#//apple_ref/doc/uid/TP40007072-CH5-SW12