在我的应用程序中,我使用AWSS3TransferUtility的uploadUsingMultipart(fileURL,bucket,.)函数将视频文件上传到S3桶中。当应用程序处于前台时,上传速度非常快。但是一旦应用程序进入后台,上传过程就会非常缓慢,而且要花费太多的时间才能完成。
例如,我在一个互联网连接上测试了一个100 MB的文件,上传速度为10 Mbps,当应用程序处于前台时,使用multipart进行上传需要35秒,但是当应用程序处于后台时,使用multipart上传同一文件需要14分钟40秒。
有没有办法在后台加快上传过程?
发布于 2019-01-30 13:44:43
因为答案是长的,所以我更新作为一个答案。
根据苹果公司关于后台执行的文档,它说:
假设您正在运行一个进程,在中间按home按钮,然后应用程序进入后台,那么您的应用程序应该有一些时间来完成它正在做的事情,或者至少在大多数情况下它应该能够保存任何重要的数据。这就是您请求操作系统执行后台操作的地方。 正常情况下,操作系统会给出最多3分钟(180秒)来完成任务。这只是一个一般性的观察。正式文档中没有给出大于或小于3 minutes.This的时间。
如果在后台一段时间后不调用endBackgroundTask(),则应用程序将被终止。你最终会失去上传。
想法:
WARNINIG:在后台无法执行无限或长时间运行的任务
https://stackoverflow.com/questions/54415762
复制相似问题