Ger*_*eri 0 background-process uiapplicationdelegate ios springboard
我想向远程服务器发送时间戳,并等待成功回调,然后在本地存储时间戳,如果远程服务器没有响应.
这是我可以投入applicationDidEnterBackground实施的吗?
根据iOS Developer Library UIApplicationDelegate Protocol Reference
您执行此方法大约需要五秒钟来执行任何任务并返回.如果您需要额外的时间来执行任何最终任务,可以通过调用beginBackgroundTaskWithExpirationHandler:从系统请求额外的执行时间.实际上,您应该尽快从applicationDidEnterBackground返回:如果方法在时间用完之前没有返回,则应用程序将终止并从内存中清除.
在此方法退出之前,您应执行与调整用户界面相关的任何任务,但应根据需要将其他任务(如保存状态)移动到并发调度队列或辅助线程.因为您可能在applicationDidEnterBackground中启动任何后台任务:在该方法退出之前不会运行,您应该在启动这些任务之前请求额外的后台执行时间.换句话说,首先调用beginBackgroundTaskWithExpirationHandler:然后在调度队列或辅助线程上运行任务.
因此,您有大约5秒的时间来执行任何任务并返回"applicationDidEnterBackground"方法.
| 归档时间: |
|
| 查看次数: |
1083 次 |
| 最近记录: |