NSCache 簡單使用

NSCache的一些用法

iOS NSCache 用法介紹了NSCache的一些基本使用 ,NSCache 可以在內存不足時候自動釋放掉已經存儲的內容 ,來爲將要存儲的內容騰出空間。模擬器產生內存不足警告 ,而Cache沒有做操作的原因 ,可能是因爲 ,Cache的清除操作是在存取時候進行判斷 ,如果空間不足再進行清除 ,而模擬器模擬內存不足 ,但沒有將要存儲的內容 ,因此不會執行清除動作 ,如果這時候繼續執行存儲動作 ,這時候應該會執行清除動作, 並完成存儲。


iOS開發基礎 | 被忽視和誤解的NSCache介紹了NSCache的一些需要注意的問題 ,包括 :
1. app重啓之後NSCache中的內容並不會序列化 。並不會在下次啓動時候重新加載。
2. 是否能統計出NSCache中已經緩存的數據大小 。
3. NSCache內存釋放時候並不能確定釋放的順序, 並不是按照隊列的fifo原則進行的釋放。
4. 結合NSDiscardableContent協議來實現

    實現了這個協議的類需要在被引用之前,必須調用beginContentAccess來標記爲可使用的,如果在使用之前沒有調用beiginContentAccess,那麼就會拋出異常。在使用結束之後,調用endContentAccess,來標記它爲可以被釋放的。如果實現了NSDiscardableContent協議的對象放入了NSCache中,那麼,在清除它的時候,會調用discardContentIfPossible方法來判斷引用狀況,沒有引用,則銷燬。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章