如果应用程序依赖于后台获取并且需要在获取的数据不为空时进行一些处理,那么这样做是否有意义:
1) 使用后台 NSURLSession 获取数据(使用 backgroundSessionConfigurationWithIdentifier)
2)在后台任务中处理数据(使用beginBackgroundTask)
由于系统给了 30 秒的时间来完成后台提取,因此似乎不需要 #1 或 #2。文档(https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html)没有明确说明这些技术是否可以组合,所以我只是寻求确认.
好吧,经过一些背景知识的挖掘,我想我至少可以为那些仍然想知道的人回答我自己的问题。
使用后台配置的 NSURLSession 进行后台获取
该应用程序在后台获取期间只需 30 秒即可完成下载。如果整个下载流程花费的时间少于此限制,则可以使用默认 URLSession(无需后台配置)。
但是,如果正在加载的资源很大,那么花费 30 秒(或更短)的时间进行准备并使用后台配置启动 URLSession 是非常有意义的。配置完成后,您的 NSURLSession 对象将无缝地将下载任务移交给系统,因此资源传输将不受 30 秒完成限制的限制。
使用后台任务进行后台获取
| 归档时间: |
|
| 查看次数: |
1538 次 |
| 最近记录: |