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

标签 iphone streaming nsurlconnection

我正在编写一个应用程序,用于在 iPhone 上缓存来自网络的流媒体内容。现在,我正在将数据到达时保存到磁盘( block 大小从 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

最佳答案

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

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

结果:没有什么区别。使用 32kB 和 512kB block (以及中间的几种大小)之间的性能差异小于使用相同分块大小的运行之间的差异。正如预期的那样,文件下载时间几乎全部由等待网络的时间组成。

*平均吞吐量约为 8Mbps。

关于iphone - 在 iPhone 上将流媒体内容写入磁盘的理想 block 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2398406/

相关文章:

android - iPhone 和 Android 可以录制和播放哪些音频格式?

sockets - 传输一定数量的数据后 Chrome 挂起 - 等待可用的套接字

ios - UIWebView 中的进度条

iphone - 在指定时间段后清除 NSUserDefaults iPhone

iphone - 从 Amazon Web Services S3 加载的图像像脉冲一样无限滚动

iphone - 以 Storyboard风格呈现没有动画的模态视图 Controller

google-chrome - Mp4下载导致浏览器播放文件而不是下载

ios - 使用 AVAssetImageGenerator 的 copyCGImageAtTime 为 Assets 的特定帧抛出 -11800 未知错误

xcode - NSMutableData setLength :NSUInteger crashing the app

objective-c - 回调 block 中的 NSJSONSerialization 泄漏