有人可以簡單地向我解釋什麼時候需要使用NSCache?我閱讀文檔,但我不明白。就像,給我舉一個NSCache會有用的場景的例子吧? 謝謝。什麼是NSCache?
回答
這或多或少就像一本字典,具有以下附加的東西(如由文檔中提到):
的NSCache類整合各種自動刪除策略,這 確保它不使用系統內存太多 。如果其他 應用程序需要內存,系統 會自動執行這些策略。調用時,這些策略會從 緩存中刪除一些項目,從而最大限度地減少其內存佔用量。
您可以從不同的 線程中添加,刪除和查詢緩存中的項目,而無需自行鎖定 緩存。
從NSCache對象中檢索某些內容會返回一個自動發佈的 結果。
與NSMutableDictionary對象不同,緩存不會複製放入其中的對象 對象。
如果您的應用程序有大量需要使用的數據,但您無法將其全部保留在內存中,您可能會使用它。例如,如果您有一個從SQL Lite數據庫或Web服務提取數據的應用程序,則可以在查看它之後將其存儲在NSCache中。然後,當您再次需要它時,您可以先檢查緩存,並且只有在數據庫不在緩存中時才需要訪問該緩存。在這種情況下,使用普通字典的主要優點是,如果你在緩存中放了太多東西,並且它開始填滿內存,它會自動丟棄一些東西來爲你釋放內存。
謝謝你,現在很清楚。 – sumderungHAY
這是非常有趣的,它不復制密鑰,我假設這意味着密鑰可能會改變後,它有一個奇怪的暗示,比較關鍵地址或哈希值。推測仍然是哈希。我必須考慮我可以在哪裏使用它。除了使用非NSCopying符合的密鑰。 –
有趣的是,我用來從本地sql數據庫中檢索27k條目,現在使用NSCache只需不到一秒而不是整整5秒。謝謝你 – Eugene
- 1. 在NSCache中使用NSPurgeabledata有什麼意義?
- 2. NSCache和背景
- 3. 鍵值觀察NSCache
- 4. UIImage + NSCache與[UIImage imageNamed:]
- 5. NSCache不起作用
- 6. 如何使用NSCache
- 7. swift 3 NSCache不起作用
- 8. NSCache一直給我(null)
- 9. NSCache自動刪除策略
- 10. NSCache的名稱屬性
- 11. UIView在NSCache被覆蓋
- 12. 誤差在實施nscache
- 13. 內存崩潰的NSCache
- 14. NSCache存儲圖像的UITableView
- 15. 在可重用表格單元格中使用NSCache和dispatch_async的正確方法是什麼?
- 16. NSCache,removeAllObjects是否釋放內存使用?我正在使用ARC
- 17. 什麼「?」做?什麼是__FILE__?
- 18. 什麼是<NS0:什麼?
- 19. 什麼是setDetailItem:做什麼?
- 20. 什麼是純SVG和什麼是SMIL?
- 21. 春天 - 什麼是豆,什麼不是?
- 22. 什麼是PPC,這是什麼意思?
- 23. 是什麼代碼是什麼意思?
- 24. 什麼是session_reset()到底是什麼?
- 25. 是什麼!<是什麼意思?
- 26. 是什麼意思:是什麼意思?
- 27. 這是什麼`_time_independent_equals`是什麼意思?
- 28. 什麼是.size是什麼意思
- 29. 什麼是()=> {}是什麼意思?
- 30. 什麼是Ext.apply xtype是什麼意思?
你爲什麼要問?你想用它做什麼?是什麼讓你看着它?簡而言之,你想要解決什麼問題? –
正在瀏覽文檔中的類列表,並發現它。發現它有趣...沒有特別的原因。 – sumderungHAY