在iPhone上,我使用NSURLRequest对一大块数据执行HTTP请求.对象分配峰值,我相应地分配数据.当我完成数据后,我会相应地释放它 - 但是仪器没有显示任何已释放的数据!
我的理论是,默认情况下,HTTP请求被缓存,但我不希望我的iPhone应用程序缓存这些数据.
有没有办法在请求后清除此缓存或阻止任何数据首先被缓存?
我尝试过使用下面记录的所有缓存策略:
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];
theRequest.cachePolicy = NSURLRequestReloadIgnoringLocalCacheData;
Run Code Online (Sandbox Code Playgroud)
但似乎没有什么可以释放记忆!
我发现我调用REST的服务器将cookie传递给我的iPhone.它还使用HTTP Basic Auth.
我有一个应用程序,您可以在其中更改用于身份验证的帐户,但是我发现更改凭据无关紧要,因为didReceiveAuthenticationChallenge从未调用过.
我已经研究了两个可能的修复:
[request setHTTPShouldHandleCookies:NO]我想知道我是否正确理解这一点.我预计NSURLRequestReloadIgnoringCacheData会照顾缓存,但似乎并非如此.
我该如何解决这个问题?
编辑:我只是试着设置shouldHandleCookies到NO,但似乎饼干仍然传递到服务器.