为什么使用backgroundSession在后台上传任务时打印进度回调信息

时间:2019-04-26 08:44:26

标签: objective-c background nsurlsessionuploadtask

当我在后台执行backgroundSessionConfigurationWithIdentifier上传任务时,我想问一个问题:

背景:我有很多上载任务(假设有200个),我将在for循环中创建200个作业,加入队列,队列中的最大并发数为4,我使用backgroundSession上传,并且在handleEventsForBackgroundURLSession中实现了APPDelegate方法,并打印了一些信息(称为interceptApplication的{​​{1}}),然后实现了{{ 1}} URLSession代理方法,并调用NSURLSession URLSessionDidFinishEventsForBackgroundURLSession(并打印日志handleEventsForBackgroundURLSession)。

问题

  1. 我发现进度信息将在程序进入后台后打印(但我检查了该信息,并说后台上传期间将没有进度回调,并且在所有后台之后仅对每个任务调用completionHandler方法任务已完成)。
  2. 由于任务很多,我在URLSessionDidFinishEventsForBackgroundURLSessiondidCompleteWithError中的输出信息将被多次打印,我以为所有任务都可以完成,但是我发现程序将停止打印日志消息跑步一段时间后。

感谢您的帮助。

0 个答案:

没有答案