iOS開發之內存緩存 磁盤緩存 沙盒

        最近一直看到“緩存”兩字,索性自己總結一下,希望大神看到多多指點。

        說到緩存,緩存分爲內存緩存和磁盤緩存兩種,內存是指當前程序的運行空間,磁盤是程序的存儲空間; 內存緩存速度快容量小,磁盤緩存容量大速度慢可持久化;內存是臨時存儲文件用的,供CPU直接讀取,比如說打開一個程序,他是在內存中存儲,關閉程序後內存就又回到原來的空閒空間, 而磁盤是永久存儲東西的,只要裏面存放東西,不管運行不運行 ,他都佔用空間!

        磁盤緩存是存在Library/Caches

       iOS的沙盒機制 

         iOS應用程序只能在該程序創建的文件系統中讀取文件,不可以去其它地方訪問,此區域被成爲沙盒,所以所有的非代碼文件都要保存在此,例如圖像,圖標,聲音,映像,屬性列表,文本文件等

         

        

         默認情況下,每個沙盒含有3個文件夾:Documents, Library 和 tmp。
         Documents:蘋果建議將程序中建立的或在程序中瀏覽到的文件數據保存在該目錄下,iTunes備份和恢復的時候會包括此目錄

         Library:存儲程序的默認設置或其它狀態信息;
                    Library/Caches:      存放緩存文件,iTunes不會備份此目錄,此目錄下文件不會在應用退出刪除.
                    Library/preferences: 存放的是 user default 存儲的信息,iTunes會備份此目錄, 應用程序重新啓動不會丟棄數據,我們使用                                                         NSUserDefaults寫的設置數據都會保存到該目錄下的一個plist文件中,這就是所謂的寫到plist中!
         tmp:提供一個即時創建臨時文件的地方, iTunes不會備份此目錄

        用戶生成的文件放在documents,自己的文件放在library/cache裏面,簡單的說明:如果你做個記事本的app,那麼用戶寫了東西,總要把東西存起來。那麼這個文件則是用戶自行生成的,就放在documents文件夾裏面。如果你有一個app,需要和服務器配合,經常從服務器下載東西,展示給用戶看。那麼這些下載下來的東西就放在library/cache。apple對這個很嚴格,放錯了就會被拒。主要原因是ios的icloud的同步問題。

        內存緩存:參照   http://blog.csdn.net/zhuqilin0/article/details/6647123

        磁盤緩存:參照   http://blog.csdn.net/sunnyboy9/article/details/51236205

      今天才發現,我14年建的博客,竟然就那麼幾篇文章尷尬,我也真是對我無語了大哭。以前總認爲寫博客,不如寫筆記,所以我的筆記一大堆,但是有人和我說,寫博客和寫筆記是不一樣的,寫筆記是給自己看的,寫博客是給別人看的,區別在於互動,別人看了你的博客,如果感覺好或是有差異,有可能會給你評論,你也會根據評論,繼續深入研究,理解的比較透徹,所以我決定,從今天開始,我開始寫博客了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章