2012-01-03 6 views
0

私は自分のアプリケーションにプログレスバーを追加しました。すべてがうまくいって、私はそれらをしたい方法を実行しています。問題は、ダウンロードしたデータをdidReceivedData:に追加するときです。私のresponseDataが再割り当てされているため、アプリケーションがあまりにも多くのメモリを消費してしまいます。 receivedMemoryWarningの後にクラッシュします。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が作成/再割り当てされているコードは表示されていません。それを示す。 –

答えて

2

responseDataを作成する場合は、必要なバイト数をヒントにするためにinitWithCapacity:を使用します(予想されるコンテンツの長さは、応答ヘッダーから取得できる可能性があります)。

関連する問題