我有一个iOS应用程序,需要在其中启动播放器之前下载多个音频文件。(需要首先下载所有文件,因为它们都作为多轨歌曲同时播放。)
我知道从主线程异步下载的优点(不阻止UI等),但我想知道,与在同一后台线程上异步下载每个文件是否有任何好处。如果有差异,哪种方法将最快下载所有文件?
这实际上是网络带宽的问题。如果您尝试同时下载10个文件,则很可能比一次下载相同的10个文件所花的时间更长(甚至更长)。
用户的Internet连接每秒仅允许这么多的数据。假设每次下载都已最大化,则一次下载多个文件意味着必须在文件之间分配最大吞吐量。
最好的选择是设置并发操作队列。将每个下载排队作为单独的操作。然后尝试通过设置操作队列来支持1到n个并发操作中的任何一个。在不同的时间多次进行测试,并跟踪完成所有下载所需的时间。查看哪种结果可获得最佳的总体平均水平。请记住,使用2G蜂窝连接速度较慢的用户与使用超快速家庭Wi-Fi连接的用户所得到的结果可能会有所不同。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句