【问题标题】:Does dataWithContentsOfURL cache?dataWithContentsOfURL 是否缓存?
【发布时间】:2012-09-23 05:19:18
【问题描述】:

我想弄清楚dataWithContentsOfURL是否缓存了内容,所以如果在代码中:

UIImage *img = [UIImage imageWithData:[NSData dataWithContentsOfURL:
[NSURL URLWithString:[NSString stringWithFormat:@"http://testsite.com/img/%@.png"
,imgName]]]];

接下来会出现一行:

UIImage *img2 = [UIImage imageWithData:[NSData dataWithContentsOfURL:
[NSURL URLWithString:[NSString stringWithFormat:@"http://testsite.com/img/%@.png"
,imgName]]]];

那需要重新上网吗?

【问题讨论】:

  • 您可以保存和使用 NSData
  • oov.. 需要 2 个具有相同图像内容的 UIImage 吗?您可以在任何地方使用相同的吗?
  • img2 只会在运行时决定的后续请求时被调用。 URL 也在运行时结束。我想知道如果我的应用碰巧两次访问同一个 URL,它是否需要再次访问网络。

标签: ios objective-c image caching


【解决方案1】:

这没有被缓存。

我建议您开始使用 ASIHTTPRequest 或 AFNetwork 框架。它们允许您进行缓存。

如果您使用 NSMutableURLRequest,您有一些方法可以进行缓存,但不是很好。

您也不应该使用 XWithContentOfURL,因为它们会占用您的主线程,除非您使用线程或 GCD,如果您使用上述框架,您将免费获得这些东西

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-19
    • 2013-07-23
    • 2012-08-19
    • 1970-01-01
    • 1970-01-01
    • 2013-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多