我們正在將我們的核心數據和其他對象保存在Caches目錄中。它們可以被刪除,但如果它們在應用程序運行時消失,則會變得雜亂無章。這實際上是可以發生的,還是我們可以假設一旦創建了一個文件,它就會出現在應用程序運行時的其餘部分?應用程序運行時期間可以清空緩存目錄嗎?
1
A
回答
1
-1
的NSCache類整合各種自動刪除策略,這 確保它不使用太多系統內存。如果內存需要 其他應用程序, 系統會自動執行這些策略。當被調用時,這些政策從緩存中刪除某些項目 ,最大限度地減少了內存佔用
緩存是有成本的限制,如果文件大於閾值就越大將自動刪除。 但您可以使用countLimit
,totalCostLimit
屬性控制它們,並且您可以使用成本添加對象,請參閱setObject:forKey:cost:
。
你也可以自己驅逐物體。將NSDiscardableContent協議實現添加到您的對象並setEvictsObjectsWithDiscardedContent:
到YES
。
,但是當你的緩存更大,當你的應用程序在後臺運行,緩存將驅逐一些對象的(也許所有)
+0
雖然NSCache非常棒,但我詢問了Caches *目錄*(通過NSCachesDirectory標誌接收):-) –
相關問題
- 1. WebView緩存會在應用程序運行之間持續嗎?
- 2. 上次應用程序運行的存儲日期/時間
- 3. 應用程序運行時可以更改登錄(Windows)用戶嗎?
- 4. 應用程序在後臺運行時可以截屏嗎?
- 5. 運行java應用程序時可以禁止任務欄嗎?
- 6. 我可以設置應用程序在iOS設備空閒時運行嗎?
- 7. Hazelcast可以用作* perl * web應用程序的緩存嗎?
- 8. 可以從Temp目錄運行MSI嗎?
- 9. 緩存清單,緩存目錄中的
- 10. Android,可以從撥號程序運行應用程序嗎?
- 11. 可以在entlib緩存應用程序塊中配置過期策略嗎?
- 12. 更新應用程序緩存清單
- 13. 應用程序緩存:需求清單?
- 14. XBAP從應用程序清除緩存
- 15. 清理應用程序緩存7
- 16. Android清除應用程序緩存清除提供程序也
- 17. 更新時可以清除應用程序數據嗎?
- 18. 打包我的混合應用程序時,我可以存儲HTML5的應用程序緩存嗎?
- 19. 如何在運行應用程序時在JavaScript中清除AngularJS應用程序中的緩存?
- 20. iPhone應用程序可以以root身份運行嗎?
- 21. 當我從Android庫運行時,可以配置Eclipse以運行我的Android應用程序項目嗎?
- 22. 應用程序從哪裏運行的可執行目錄?
- 23. Android可以緩存緩存清單HTML5視頻離線嗎?
- 24. Java程序運行時可以再次使用命令行嗎?
- 25. 如何在django應用程序運行時查看緩存
- 26. 我可以在.NET 2應用程序中運行.NET 4應用程序嗎?
- 27. 如何清除目標C中的應用程序緩存?
- 28. HTML5應用程序清單不清除緩存清單更改
- 29. 我的HTML5應用程序緩存清單是緩存一切
- 30. 我可以使用Hendrix來運行Falcon應用程序嗎?
相應的文檔,此目錄中的信息可以在任何時間,如果系統中刪除跳出空間 – tkanzakic