AWS / iOS SDK:我何时应该使用AWSS3TransferManager和AWSS3TransferUtility?

时间:2017-01-18 09:20:22

标签: ios amazon-web-services amazon-s3 awss3transfermanager awss3transferutility

Amazon S3 iOS SDK AWSS3TransferManager AWSS3TransferUtility 的使用有何不同?

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

  

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

AWSS3TransferUtility

  

用于管理后台上传和下载的高级实用程序。   即使应用程序被暂停,转移也会继续。你必须打+   application:handleEventsForBackgroundURLSession:completionHandler:in    -   应用:handleEventsForBackgroundURLSession:completionHandler:   应用程序委托以便进行后台传输回调   工作

根据描述,主要区别似乎是 AWSS3TransferUtility 是为后台任务而设计的。

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

1 个答案:

答案 0 :(得分:3)

对此抱歉,这有点令人困惑。通过'背景'它并不意味着离开主线程,虽然这些传输不在主线程中,而是意味着当你的应用程序在后台时。

转账经理:

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

转移实用程序:

  • Transfer Utility将允许用户退出应用程序,并继续上传文件。
  • Transfer Utility允许您上传二进制有效负载,而无需先将其保存到文件中。
  • 转移实用程序也更新,功能更新可能会进入该客户端。