Apple支持從iOS 5.0開始的磁盤緩存。我以前使用家庭解決方案,但是我正在測試NSURLCache
,希望能夠最終使用它,因爲我以前看到過奇怪的行爲。NSURLCache是否刪除過期的緩存響應?
我遇到的一個更令人困惑的問題是cachedResponseForRequest:
返回過期的請求。我一直在測試,通過在我使用的iPhone上設置時鐘。解析標題清楚地表明設備時間超過了到期日期。
我願意接受可能存在一個後臺任務,以定期修剪過期的請求。我已經完成了測試,我實際上等待看看請求是否「自然」過期,而不是。
Apple沒有正確實現緩存失效嗎?
我使用Charles代理進行測試。這是一個tough problem,我不羨慕任何必須實現緩存失效的人,但iOS現在應該是一個成熟的SDK。
+1有趣的問題。 – Till 2012-08-16 23:07:34
一年後,我有同樣的問題,緩存的響應永不過期:http://stackoverflow.com/questions/18747090/nsurlcache-cached-response-doesnt-expire – Michal 2013-09-12 09:43:23