2012-01-03 79 views
0

我在我的应用程序中添加了一个进度条。一切都很好,按我想要的方式运行。但问题是当我在didReceivedData中追加下载的数据时,我的responseData被重新分配,从而使我的应用程序消耗太多内存。然后在收到MemoryMemory后崩溃。NSMutableData appendData:获得重新分配,内存问题

-(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

您没有在创建/重新分配responseData的地方显示代码。显示。 – 2012-01-03 14:47:00

回答

2

当创建responseData时,使用initWithCapacity:给它一个提示您将需要多少字节(可能从响应头中检索预期的内容长度)。