我在我的应用程序中添加了一个进度条。一切都很好,按我想要的方式运行。但问题是当我将下载的数据附加到didReceivedData:时,我的responseData被重新分配,从而使我的应用程序消耗太多内存。然后在收到记忆警告后崩溃。
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
//response data is getting reallocated with bigger size of data
[responseData appendData:data];
NSNumber* curLength = [NSNumber numberWithLong:[responseData length] ];
float progress = [curLength floatValue] / [filesize floatValue] ;
progressView.progress = progress;
}
有人可以帮我解决如何在我的responseData中摆脱重新分配吗?
感谢!!!
答案 0 :(得分:2)
创建responseData
时,使用initWithCapacity:
提示您需要多少字节(可以从响应标头中检索预期的内容长度)。