- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我喜欢通过以下方法在 backgroundSessionConfiguration 中使用 NSURLSession:
uploadTaskWithRequest:fromFile:
但是我需要在上传后运行一些代码来选择下一个文件。选择后,我喜欢再次启动 NSURLSession 以使用 uploadTaskWithRequest:fromFile: 方法上传它
所以递归上传一堆文件
你知道这是否可能吗?
最佳答案
简短的回答是肯定的,这是可能的。您有 30 秒的时间来完成此操作。
无论您运行什么代码,您都必须确保在应用程序在后台重新启动时它能够运行。即处理内存中的所有内容被丢弃并重新初始化它们。这是因为当您的应用程序在后台运行时,如果用户正在运行其他占用大量内存的应用程序,您的应用程序将因内存压力而被杀死。然而,内存压力导致的终止仍会导致您的应用程序在 NSURLSession 任务完成后的某个时刻唤醒。
我不推荐它。根据我的经验,像这样一次一个地链接上传请求是非常低效的,因为每次上传时您都在等待应用程序被唤醒一次。唤醒应用程序的成本很高,而且不会经常发生或根本不会发生。这取决于用户的使用行为,而不是你上传的状态。
我的建议是将您的 NSURLSession 配置配置为串行(如果您希望它在每个主机上一次处理一个任务,我认为如果它们连接到不同的主机,您实际上无法串行化任务。)然后提交所有一次上传任务,让 nsnetworkd 负责安排和提交它们。根据我的经验,这要可靠几个数量级,而且速度要快得多。
希望对您有所帮助。
关于ios - 上传文件后是否可以运行代码,NSURLSession 配置为 backgroundSessionConfiguration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19998895/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!