杀死应用程序或将应用程序置于后台后恢复下载

Posted

技术标签:

【中文标题】杀死应用程序或将应用程序置于后台后恢复下载【英文标题】:Resume download after killing or putting on background the application 【发布时间】:2017-04-21 09:16:59 【问题描述】:

我想恢复下载操作时遇到了一些问题。我正在使用 Alamofire 4.4,并在 ios 9 和 10 上进行了测试。 这是我的用例:

1- 正在进行下载操作,我取消了请求(resumeData 已生成并保存),然后我将应用程序置于后台。重新启动应用程序后,我恢复下载(使用resumeData),有时会恢复下载,有时会重新启动。 这是正常行为吗?如果没有,有什么解决办法吗?

2- 正在进行下载操作,我终止了应用程序。下载的数据似乎丢失了,我无法继续下载。 有什么解决方案可以在重启应用后获取resumeData并恢复下载?

谢谢。

【问题讨论】:

我认为 Alamofire 不使用任何东西就支持这个功能。 【参考方案1】:

这可能不是您问题的直接答案,但您绝对应该检查一下:http://benscheirman.com/2016/09/designing-a-robust-large-file-download-system/ 和 http://benscheirman.com/2016/10/background-downloads/

【讨论】:

【参考方案2】:

最后我使用 URLSession 重新实现了下载模块。我的应用现在更稳定了。

【讨论】:

是的,使用 URLSession。 你能把代码贴出来吗?代码可能对每个人都有帮助。

以上是关于杀死应用程序或将应用程序置于后台后恢复下载的主要内容,如果未能解决你的问题,请参考以下文章

从后台恢复后,Flutter GoogleMap 为空白

在应用程序被杀死后在应用程序启动时恢复未完成的多部分/表单数据上传任务

当来电活动置于后台时返回呼叫 UI

iPhone 3G 后台定位应用

进程被杀死后恢复状态

发件人应用程序在被杀死后如何恢复会话?