2012-05-13 9 views
1

私は大きなアプリを持っています。最初は20 MBのRAMを想定していました。ASIHTTPRequestは自分のデータをキャッシュします。私はキャッシュの種類をしたくない

たとえば、14 MBのオペラをダウンロードします。数分後、私はオペラをダウンロードしました。アプリケーションのRAMが20から34 MBに増加しました。これは大きな問題です。私が200 MBのファイルをダウンロードしたいのであれば、私のアプリは殺されるからです(14 + 200)。私は数回試して、私は "メモリ警告を受け取りました"を取得し、その後、アプリが殺されました。

ASIHTTPRequestは自分のデータをキャッシュします。どうしてか分かりません。私はリクエストからすべてのコードを削除しました:didReceiveData :.しかし、それは私を助けなかった。

重要::私は新しい空のプロジェクトを作成し、このコードを追加しました。このプロジェクトでは、すべてがうまくいきます。 ASIHTTPRequestはデータをキャッシュしません。 XCodeの設定を変更する必要がありますか?

-(void) downloadOpera 
{ 
self.currentPath = @"http://get-tsw-1.opera.com/pub/opera/mac/1164/Opera_11.64_Setup_Intel.dmg"; 
self.ASIRequest = [[[ASIHTTPRequest alloc] initWithURL:[NSURL URLWithString:currentPath]] autorelease]; 
ASIRequest.delegate = self; 
ASIRequest.shouldContinueWhenAppEntersBackground = YES; 
[ASIRequest setCachePolicy:ASIDoNotWriteToCacheCachePolicy]; 
[ASIRequest startAsynchronous]; 
} 

- (void)request:(ASIHTTPRequest *)request didReceiveData:(NSData *)data {} 
- (void)requestFailed:(ASIHTTPRequest *)request {} 
- (void)requestFinished:(ASIHTTPRequest *)request {NSLog(@"download finished");} 

答えて

2
は...

オフにゾンビオブジェクトを有効にし、リラックス