3

Amazon S3 iOS SDK中的AWSS3TransferManagerAWSS3TransferUtility在使用上有何区别?

以下是AWSS3TransferManager文档所说的内容:

用于管理到 Amazon S3 的传输的高级实用程序。S3TransferManager 提供了一个简单的 API,用于将内容上传和下载到 Amazon S3,并广泛使用 Amazon S3 分段上传来提高吞吐量、性能和可靠性。

对于AWSS3TransferUtility

用于管理后台上传和下载的高级实用程序。即使应用程序暂停,传输也会继续。您必须在 - application:handleEventsForBackgroundURLSession:completionHandler: 应用程序委托中调用 + application:handleEventsForBackgroundURLSession:completionHandler: 以使后台传输回调起作用。

从描述来看,主要区别似乎是AWSS3TransferUtility是为后台任务设计的。

这个对吗?这是否意味着我不应该将AWSS3TransferManager用于后台任务?这似乎违反直觉,因为大多数传输可能会作为移动客户端中的单独后台线程发生。

4

1 回答 1

3

抱歉,这有点令人困惑。“后台”并不意味着脱离主线程,尽管这些传输脱离了主线程,而是意味着当您的应用程序处于后台时。

转会经理:

  • 支持分段上传
  • 如果应用程序被终止,Transfer Manager 可以恢复部分完成的上传

传输实用程序:

  • Transfer Utility 将允许用户退出应用程序,并继续上传您的文件。
  • Transfer Utility 允许您上传二进制有效负载,而无需先将其保存到文件中。
  • Transfer Utility 也较新,功能更新可能会进入该客户端。
于 2017-01-18T20:12:48.437 回答