gpt4 book ai didi

ios - NSURLSessionDownloadTask cancelByProducingResumeData 与暂停

转载 作者:搜寻专家 更新时间:2023-10-31 22:13:45 25 4
gpt4 key购买 nike

我需要暂停下载任务并在应用重启后继续下载。但我不确定应该使用哪种方法,suspendcancelByProducingResumeData

使用 cancelByProducingResumeData 我可以获得部分下载的数据并使用它重新创建下载任务。但是,我必须手动管理数据、将其保存到文件、读回并重新创建任务并确保新任务不会失败。

使用suspend,我可以暂停和恢复下载任务。但是我可以在应用重启后恢复这个任务吗?我正在使用后台 session ,因此在重新启动时会保留任务。

cancelByProducingResumeDatarequirements为了让它工作,这些要求是否也适用于 suspend/resume?还是 suspend/resume 只是文档中所说的“临时暂停任务”的意思?

最佳答案

你想多了。下载任务的“恢复数据”不是任务到那时已经收到的数据。它是一个很小的簿记数据 block ——那种你通常会在 NSUserDefaults 中放入数组的东西。

话虽如此,要回答最初的问题,任务仅在 session 上下文中有效。因此,对于前台 session ,一旦您的应用程序退出,该 session 便不复存在,因此不再可能访问该 session 中的任务。因此,在您重新启动应用程序后无法恢复挂起的任务,因为该任务不再存在(因为它的 session 不再存在)。

对于后台 session ,您几乎必须询问 Foundation Networking 团队的某个人才能得到答案,因为这取决于事后您可以在多大程度上重新创建 session 。但是,我的猜测是它可能也不会在那里工作,如果可以,您应该认为它不受支持。

关于ios - NSURLSessionDownloadTask cancelByProducingResumeData 与暂停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37201332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com