我应该使用beginBackgroundTaskWithExpirationHandler:对于所有HTTP连接吗?

时间:2011-08-08 15:43:55

标签: ios multitasking

我正在开发一个能够将数据上传到远程端点的iOS应用程序。由于良好的用户体验可能会让应用程序在上传时执行其他任务,我是否应该使用beginBackgroundTaskWithExpirationHandler: API启动所有我的上传?

2 个答案:

答案 0 :(得分:5)

是。这与the application design guide中描述的设计模式之一一致:

  

包装任何长期运行的关键任务   beginBackgroundTaskWithExpirationHandler:endBackgroundTask:   调用。这可以在应用程序的情况下保护这些任务   突然被移到后台。

然后在到期处理程序中,您可以将上传标记为不完整,并在applicationDidBecomeActive:中返回。

答案 1 :(得分:0)

嗯,在我看来,applicationDidBecomeActive:方法不允许你处理一些特殊的东西,比如网络访问,位置服务,蓝牙功能等等。但我不够技巧证明它......