在iPhone上将流媒体内容写入磁盘的理想块大小

时间:2010-03-07 23:17:42

标签: iphone streaming nsurlconnection

我正在编写一个应用程序,用于在iPhone上缓存来自网络的流媒体内容。现在,我将数据保存到磁盘(块大小从1KB到大约60KB),但应用程序响应有点迟缓(比我预期的要好,但仍然非常糟糕)。

我的问题是:有没有人有一个经验法则,即设备内存的频繁和大量写入应该最大限度地提高性能?

我意识到这似乎是应用程序特定的,我打算为我的场景进行性能调整,但这通常适用于iPhone上下载大量数据的任何应用程序,因为可能有一个最佳点(给定足够的传入数据可用性) )用于写入频率/大小。

这些是我已经阅读过与该问题相关的资源,但没有人解决在转储之前累积的数据量的具体问题:

Best way to download large files from web to iPhone for writing to disk
The Joy in Discovering You are an Idiot

1 个答案:

答案 0 :(得分:6)

一年后,我终于开始编写测试工具来测试流媒体下载的分块性能。

以下是设置:使用iPhone 4通过Wi-Fi连接*下载带有异步NSURLConnection的大文件。每当下载的数据量超过阈值时,定期将下载的数据刷新到磁盘(原子地)。

结果:它没有任何区别。使用32kB和512kB块(以及其间的几个大小)之间的性能差异小于使用相同块大小的运行之间的差异。正如预期的那样,文件下载时间几乎完全由在网络上等待所花费的时间组成。

*平均吞吐量约为8Mbps。