我有一个iOS应用程序,我需要下载多个音频文件,才能启动播放器。(所有文件都需要先下载,因为它们都是同时播放的多曲目歌曲。)
我知道从主线程异步下载的好处(不阻塞UI,等等)。但是,我想知道异步地从彼此下载每个文件是否有什么好处,而不是在同一个后台线程上。如果有不同,哪种方法可以最快地下载所有文件?
发布于 2014-07-13 16:21:42
这真的是网络带宽的问题。最有可能的情况是,如果您试图同时下载10个文件,那么一次下载相同的10个文件将花费同样的时间(甚至可能更长)。
用户的Internet连接每秒只允许如此多的数据。假设每次下载的文件都达到最大值,一次下载多个文件意味着最大吞吐量必须在文件之间进行分割。
最好的选择是设置并发操作队列。将每个下载排队作为一个单独的操作。然后通过设置操作队列进行实验,以支持从1到n个并发操作的任意位置。在不同的时间进行多次测试,并跟踪完成所有下载所需的时间。看看哪一个得到了最好的总体平均值。请记住,对于一个缓慢的2G蜂窝连接的用户来说,结果可能是不同的,而使用超级快的家庭Wi连接的人可能会有所不同。
https://stackoverflow.com/questions/24724627
复制相似问题