gpt4 book ai didi

ios - 上传文件后是否可以运行代码,NSURLSession 配置为 backgroundSessionConfiguration

转载 作者:行者123 更新时间:2023-11-29 13:00:03 24 4
gpt4 key购买 nike

我喜欢通过以下方法在 backgroundSessionConfiguration 中使用 NSURLSession:

uploadTaskWithRequest:fromFile:

但是我需要在上传后运行一些代码来选择下一个文件。选择后,我喜欢再次启动 NSURLSession 以使用 uploadTaskWithRequest:fromFile: 方法上传它

所以递归上传一堆文件

你知道这是否可能吗?

最佳答案

简短的回答是肯定的,这是可能的。您有 30 秒的时间来完成此操作。

  1. 无论您运行什么代码,您都必须确保在应用程序在后台重新启动时它能够运行。即处理内存中的所有内容被丢弃并重新初始化它们。这是因为当您的应用程序在后台运行时,如果用户正在运行其他占用大量内存的应用程序,您的应用程序将因内存压力而被杀死。然而,内存压力导致的终止仍会导致您的应用程序在 NSURLSession 任务完成后的某个时刻唤醒。

  2. 我不推荐它。根据我的经验,像这样一次一个地链接上传请求是非常低效的,因为每次上传时您都在等待应用程序被唤醒一次。唤醒应用程序的成本很高,而且不会经常发生或根本不会发生。这取决于用户的使用行为,而不是你上传的状态。

我的建议是将您的 NSURLSession 配置配置为串行(如果您希望它在每个主机上一次处理一个任务,我认为如果它们连接到不同的主机,您实际上无法串行化任务。)然后提交所有一次上传任务,让 nsnetworkd 负责安排和提交它们。根据我的经验,这要可靠几个数量级,而且速度要快得多。

希望对您有所帮助。

关于ios - 上传文件后是否可以运行代码,NSURLSession 配置为 backgroundSessionConfiguration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19998895/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com