我正在iOS应用中使用AWS S3TransferUtility的 uploadUsingMultipart(fileURL,bucket,...)函数将视频文件上传到S3存储桶。每当应用程序处于前台时,上传速度都会非常快。但是,一旦应用在后台运行,上传过程将非常缓慢,并且需要太多时间才能完成。
例如,我在互联网连接上使用100 MB的文件进行了测试,上传速度为10 Mbps,当应用程序处于前台时,使用多部分上传花费了35秒,而上传同一文件则花费了14分40秒在后台运行应用程序时使用分段功能。
有没有办法在后台加快上传过程?
答案 0 :(得分:0)
由于答案很长,因此正在更新作为答案。
根据苹果公司有关后台执行的文档,其中说:
Suppose if you are running a process and in between you press the home button and your app goes to the background, then your app should get some time to finish what it was doing or at least in most cases it should be able to save any important data. This is where you are requesting the os for the background execution.
Normally the OS will give upto 3 minutes(180 seconds) to complete the task . This is just a general observation. The time can be greater than or less than 3 minutes.This is not given in the official documentation.
如果您在后台运行一段时间后仍未调用endBackgroundTask(),则您的应用将被终止。您最终将丢失上载内容。
想法:
WARNINIG :无法在后台执行无限或长期运行的任务