我的OSX應用程序試圖在web視圖中加載網頁。我需要緩存網頁,以便在應用程序的連續啓動之間更快地播放頁面。使用來自OSX應用程序的NSURLRequest加載頁面時,不會緩存大尺寸鏈接資源
鏈接到頁面的所有資源文件(js/css/images)都被緩存,除了一個3MB大小的js文件。我在cache.db文件中驗證了這一點,並且在相關表中沒有與此特定文件相關的條目。
我曾嘗試很多東西,包括
- 增加高速緩存容量
- 增加超時時間請求
- 改變參數高速緩存策略
確定的解決方法是明確請求js文件並強制將其存儲在緩存中。
[[NSURLCache sharedURLCache] storeCachedResponse:cachedURLResponse forRequest:request];
這將正確地緩存文件,並且在後續啓動時,只有極少的網絡活動。這顯然不是解決方案。
我不確定文件大小是否重要,因爲我在NSURLCache文檔中沒有找到與大小有關的任何參考。另一個觀察結果是在加載鏈接資源之前調用了「didFinishLoadForFrame」委託。
感謝您在這方面的任何幫助,
感謝,
Jimesh