当应用程序终止时,我将数据写入数据库。
从 iOS 4 applicationWillTerminate: is not call 开始,我在 applicationDidEnterBackground: 和 applicationWillTerminate 中放置了相同的保存代码:
我读到在 applicationDidEnterBackground: 中执行的任务需要一些时间。
那么,如果在 db 上的写作需要更多,我该如何管理呢?
最佳答案
您有 5 秒钟的时间在 applicationDidEnterBackground: 方法中执行任何保存等操作。
如果您需要超过 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
关于database - applicationDidEnterBackground : and time to write on a database,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4769967/