ios - applicationDidEnterBackground : and time to write on a database

标签 ios database background

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

从 iOS 4 开始,applicationWillTerminate: 没有被调用,我在 applicationDidEnterBackground: 和 applicationWillTerminate: 中放置了相同的保存代码

我读到在 applicationDidEnterBackground: 中执行的任务必须花费一些时间。

那么,如果在数据库上写入需要更多的时间,我该如何管理呢?

最佳答案

您有 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

关于ios - applicationDidEnterBackground : and time to write on a database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4769967/

相关文章:

ios - 优化从相机胶卷中选取的图像以减小文件大小

ios - 表格 View 元素的重复

sql - ORA-01438: 大于指定精度的值允许此列

python - 作为 SYS 的 Django Oracle 连接应该是 SYSDBA 或 SYSOPER

C# 异步 WebRequest 与 POST

css - 减少 "background-position"的 Mixin 以隔离 x 和 y 值

ios - 在 Swift 类或结构中声明为静态的变量会发生什么

ios - 使用一个动画关闭和呈现模态视图 Controller

php - 错误 : Data truncated for column 'lat' at row 1

CSS - 黑色背景上的白色文本,看起来更大胆