4

我有一个 NSURLCache,它只记录 cachedResponseForRequest 和 storeCachedResponse 调用。

似乎 UIWebView 会为每个请求调用 cachedResponseForRequest ,但 storeCachedResponse 只会为顶级页面调用,即不会为任何 css/js/etc 调用。在 html 中指定。

有什么理由可以(不)发生这种情况吗?

我在 3.2 ipad 模拟器和设备上观察到这一点。

4

1 回答 1

3

据我了解,WebKit 使用私有机制来获取和存储缓存中的资产。这些是上述方法:

- (CFCachedURLResponse*)_nscfBridgeURLCacheCopyResponseForRequest:(CFURLRequest*)request;
- (void)_nscfBridgeURLCacheStoreCachedResponse:(CFCachedURLResponse*)cachedResponse forRequest:(CFURLRequest*)request;

请注意,他们使用的是 Core Foundation 对象。

于 2011-02-11T13:08:58.750 回答