0

NSURLRequest を使用して 1 秒あたり数百の HTTP 要求を送信する iOS アプリがあります。常にWiFi経由なのでパフォーマンスは良好で、コンテンツは応答ごとに異なるため、次の方法でキャッシュを無効にしましたNSURLRequestCachePolicy.ReloadIgnoringLocalCacheData

let request = NSURLRequest(URL: requestURL,
      cachePolicy: .ReloadIgnoringLocalCacheData, timeoutInterval: 0.1)

ただし、NSURLRequestまだデータをディスクに書き込んでいます — わずか数分で数百メガバイト。

私のアプリはデータ監視用であり、一度に数時間実行されたままになる可能性があるため、これは特に懸念されます.NSURLRequestは毎秒何百回もディスクに書き込みます...これらの条件下でフラッシュメモリが消耗する可能性があることを懸念しています. 、ウェアレベリングがあると思いますが。

NSURLRequestキャッシュ データのディスクへの書き込みを停止するにはどうすればよいですか?

4

1 に答える 1

1

NSURLRequestのキャッシュ ポリシーは、ダウンロードされたデータが書き込まれるかどうかではなく、キャッシュが読み取られるかどうかとその方法のみを制御します。

NSURLRequestwithを使用している場合は、デリゲートにメソッドをNSURLSession実装 URLSession(_:dataTask:willCacheResponse:completionHandler:)し、nil 引数を指定して completionHandler を呼び出します。

NSURLConnection;を使用している場合、同様のデリゲート呼び出しが機能します。詳細については、この質問を参照してください。

于 2014-10-06T17:20:21.543 に答える