gpt4 book ai didi

ios - 多个 NSURLSessionUploadTasks

转载 作者:可可西里 更新时间:2023-11-01 06:10:00 26 4
gpt4 key购买 nike

我正在开发一个将图像上传到服务器的应用程序,我正在使用后台 NSURLSessionUploadTask。这非常适合少量上传的图像,例如 10 到 20 张照片。但是,我在尝试一次上传 100 多张图片时遇到了问题。后台 NSURLSessionUploadTask 的可扩展性如何?

当我打电话

NSURLSessionUploadTask *task = [uploadSession uploadTaskWithRequest:request fromFile:fileURL];

它反复阻塞等待信号量。这是由于与后台上传守护进程通信的往返时间吗?是否等待后台上传守护进程处理其他上传任务?在 100 多张照片中,我看到这些调用总共阻塞了 40 多秒。此外,一旦这些调用完成,上传需要一段时间才能取得任何进展,而且它们经常会一次停顿数秒。

我希望能够设置我的 100 多个上传任务,然后坐下来让 iOS 7 为我处理上传。但是,如果必须的话,我可以一次只创建几个上传任务。对于 iOS 7 中提供的如此高级的后台上传功能,这似乎是一种耻辱。我不妨在 iOS 6 下使用 NSURLConnection

感谢您的帮助。

最佳答案

NSURLSession 是NSURLConnection 的重构和增强,不是神器。我在使用它时所做的是将未完成的交易限制在一个固定的最大值,例如 4 或 10。在与 Quinn 在 Apple 的私有(private)开发论坛上进行了长时间的交流后,我现在这样做(如果有兴趣,我可能会找到一个链接)。最后,他的观点是苹果不能真正为你节流,你需要主动管理数字。所以是的,在这方面 6 和 7 之间没有太大区别。

使用最多 4 个连接,一次获取数百张图像没有问题。

关于ios - 多个 NSURLSessionUploadTasks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19149626/

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