对装载轨道的期望

时间:2012-11-20 13:52:17

标签: cocoalibspotify-2.0

当您加载多个曲目时(使用SPAsyncLoading waitUntilLoaded:timeout:then),是否有任何关于加载时间的准则,基准或类似内容?

我问的原因是我已经尝试批量加载~20首曲目,因为曲目元数据将在我的客户端的整个流程中使用(分为几步,在我之间除了初始延迟之外没有任何加载时间,在这种情况下用户更容易接受。

即。一次尝试装载多少轨道是合理的,“应该”需要多长时间? 是“很多”加载20首曲目?加载单个轨道本身是否会引发一些新的请求以提取元数据,这使得一次尝试加载多个少数是一个非常糟糕的主意?有没有办法找出为什么加载一个跟踪失败了,除了它只是超时?

相当经常(可能是十分之一),在默认的20秒超时后加载失败(我尝试了更长的超时,没有很大的差异)。有时所有20首曲目都无法加载,有时只有一首曲目。 我敢说我的互联网连接在这些尝试之间保持不变(无论如何)(介于两者之间可能是一两分钟)。

我意识到这里有很多关于正常和什么不是等等的模糊输入。这显然取决于许多因素,例如你的互联网连接,Spotify服务器的状态等等,但也许可以对期望的内容给出某种暗示,如果有任何做法,并且不特定于Spotify API。

1 个答案:

答案 0 :(得分:1)

通常,规则是:仅加载您需要立即向用户显示其元数据的曲目,并且可能预先加载将在下一次显示的曲目。

此外,由于CocoaLibSpotify使用队列,因此您在库中放置的负载越多,您的开销就越大。例如,如果你单独SPAsyncLoading一堆东西,他们将全部分开排队,但他们的计时器将立即开始。如果你排队了足够的东西,他们甚至可能在他们的超时开始时开始加载。

然而,由于一堆排队在内部继续进行,如果你在一次SPAsyncLoading电话中扔掉大量的东西,也会发生这种情况。

为了保持速度快,请保持清醒,并尝试遵循第一句中的指南。此外,尽量保持高效:

  • SPAlbumBrowse会在一次点击中加载该专辑的曲目元数据,从而减少后端负载和排队时间。

  • SPArtistBrowse相同。

  • 相信SPPlaylist相同。