本地緩存的原理!

最近的APP要做緩存的功能,我之前做的都是簡單的緩存一頁的數據,這次老大說需求的把項目中的圖片緩存下來,最好能做到斷網之后還可以查看的境界,這你難為了我!不過還是要做的!

首先,我理清了以下思路:

1.將responseObject里獲取的json數據通過model層解析之后存到一個數組中。直接對數組進行操做。
2.因為存在數組中的時解析過的數據所以可以通過這些數據進行查詢。
3.oc里對于數組的操作用的[self.testarray removeObject:xxx];

我想到了用SQLite來保存數據,但是卡在了一個問題上,當我要保存數據中的圖片時候,我必須要先把圖片從網下下載轉換成data來下,然后才可以保存到數據庫當中,當我要顯示數據的時候,我要從數據庫里拿到對應的圖片的data類型轉為圖片再顯示出來,這樣大大占用了內存,且效率不是很高!
然后我想到了用歸檔來實現緩存,也遇到了問題,主要是保存數據的時候挺簡單,但是取數據的時候就難了,因為無法取到分頁的數據展示在界面上!這一個問題又困擾了我好久(水平不夠吧!)。
最終,我想到了一個比較好的方法,我用SQLite來保存普通的數據,包括id、標題、圖片的URL等,然后再用歸檔的方式來保存下載的圖片,這樣一來,就實現了怎樣離線緩存數據的功能!
我用SQLite和這個庫 實現圖片緩存然后完美實現離線緩存!

本人攻城獅一只:
愛好閱讀,有一個寫作的美夢,喜歡乒乓球,游泳,旅游,每天過著充實而忙碌的生活!
2016年沒啥愿望,存錢還房貸,寫50篇讀書筆記和技術筆記就好!
喜歡我的文字,就關注我吧,希望能共同進步

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,436評論 25 708
  • IOS緩存機制詳解 資料均來自互聯網,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法...
    winsonink閱讀 2,394評論 3 14
  • 為什么要有緩存 應用需要離線工作的主要原因就是改善應用所表現出的性能。將應用內容緩存起來就可以支持離線。我們可以用...
    milk_powder閱讀 2,876評論 6 24
  • 書摘 死刑很無力,犯人并沒有把死刑視為刑罰,而是認為那是自己的命運。通過審判,只看到自己命運的發展,根本不在意別人...
    lxmic閱讀 427評論 0 0
  • 延續了幾千年的九九重陽節就有著深厚的文化積淀,比如插茱萸,品菊花酒,吃重陽糕……1986年國家把這一天定為老年節后...
    補拙莫如勤LV閱讀 213評論 0 0