不缓存数据的选项是NSDataReadingUncached
.
但是,如果我使用dataWithContentsOfURL
从一个(每个单元格一个图像)中的 URL 更新图像UITableViewCell
,并查看 Mac 上的活动监视器以用于模拟器(作为 iOS 5.1 模拟器运行),那么网络流量会跃升至 12kb/s我连续上下滚动表格时的接收率。当我停止上下滚动时,网络活动下降到大约 2kb/s 接收速率或更低。这些图像非常小,每个大约 20kb,当我上下滚动时,我只会让 1 或 2 个图像消失/出现,所以缓存(如果有的话)根本不需要很大。
所以它看起来dataWithContentsOfURL
确实没有缓存数据,即使我使用dataWithContentsOfURL:options:error:
with options0
表示没有选项,网络活动仍然会跳到大约 12kb/s。
缓存数据也是如此dataWithContentsOfURL
,如果没有,为什么dataWithContentsOfURL:options:error:
有不缓存数据的选项?
还进行了以下操作:
[[NSURLCache sharedURLCache] setMemoryCapacity:1024*1024*10];
viewDidLoad
但是网速还是会跳起来的。我认为通常的建议是,如果需要缓存,则使用NSURLConnection
,但由于某种原因,在NSURLConnection
Apple 文档的参考资料中,除了提到示例项目之外,根本没有出现“缓存”或“缓存”这个词称为“URLCache”,但根本没有提到缓存。