1

画像がキャッシュに保存される時間を制御できるようにしたい。これは、afnetworkを使用して画像をダウンロードする方法です:

[myImageView setImageWithURL:url placeholderImage:placeHolder];

ドキュメントで調べましたが、興味深いものは見つかりませんでした。

どんな手掛かり?

編集: 追加の質問: キャッシュはディスクに保存されていますか? アプリケーションを閉じた後も画像がキャッシュに残っているためだと思います。しかし、よくわかりません。

4

1 に答える 1

2

AFNetworking はNSCacheインスタンスを使用します。このインスタンスは、メモリ警告が受信されるまで、メモリにさらに多くの画像を格納します。メモリ警告が受信されると、メッセージの一部またはすべてが削除されます。NSCache はディスクに保存されません。

AFNetworking はNSURLCacheも使用します。これは、(1) NSURLRequest 設定と (2) HTTP サーバーによって送信されたキャッシュ ヘッダーに基づいて、URL 応答をディスクにキャッシュします。アプリではNSURLRequestCachePolicyを設定してキャッシュ動作を調整でき、サーバーではキャッシュ ヘッダーを設定して調整できます。

それでも十分な制御ができない場合は、オープンソースの NSURLCache の代替手段であるSDURLCacheを確認してください。

于 2013-09-12T13:16:13.127 に答える