它是我的代码,你可以帮助我在哪里处理内存吗?我正在使用X-Code 4.6。而且我还检查了仪器,以获得其他内存泄漏。它几乎显示所有“ASIHTTPRequest”。我不像[请求发布]手动处理;是否有必要修复内存泄漏?提前致谢
__block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setCompletionBlock:^{
}];
[request setFailedBlock:^{
}];
[request setTimeOutSeconds:60];
[request startAsynchronous];
答案 0 :(得分:2)
由于在块和请求对象之间创建的保留周期,它会泄漏。
尝试以下方法:
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
__weak ASIHTTPRequest *weakRequest = request;
[request setCompletionBlock:^{
}];
[request setFailedBlock:^{
}];
[request setTimeOutSeconds:60];
[request startAsynchronous];
干杯..
修改强>
ASIHTTPRequest已经not supported了,尝试转移到AFNetworking,这是最好的。
答案 1 :(得分:0)
然后这样做:
__weak __block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setCompletionBlock:^{
__strong ASIHTTPRequest *requestInBlock = request;
//your code, and replace all refrences of request inside the block with requestInBlock.
}];
[request setFailedBlock:^{
//same here
}];
[request setTimeOutSeconds:60];
[request startAsynchronous];
试一试。