本地缓存的原理!

最近的APP要做缓存的功能,我之前做的都是简单的缓存一页的数据,这次老大说需求的把项目中的图片缓存下来,最好能做到断网之后还可以查看的境界,这你难为了我!不过还是要做的!

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

1.将responseObject里获取的json数据通过model层解析之后存到一个数组中。直接对数组进行操做。
2.因为存在数组中的时解析过的数据所以可以通过这些数据进行查询。
3.oc里对于数组的操作用的[self.testarray removeObject:xxx];

我想到了用SQLite来保存数据,但是卡在了一个问题上,当我要保存数据中的图片时候,我必须要先把图片从网下下载转换成data来下,然后才可以保存到数据库当中,当我要显示数据的时候,我要从数据库里拿到对应的图片的data类型转为图片再显示出来,这样大大占用了内存,且效率不是很高!
然后我想到了用归档来实现缓存,也遇到了问题,主要是保存数据的时候挺简单,但是取数据的时候就难了,因为无法取到分页的数据展示在界面上!这一个问题又困扰了我好久(水平不够吧!)。
最终,我想到了一个比较好的方法,我用SQLite来保存普通的数据,包括id、标题、图片的URL等,然后再用归档的方式来保存下载的图片,这样一来,就实现了怎样离线缓存数据的功能!
我用SQLite和这个库 实现图片缓存然后完美实现离线缓存!

本人攻城狮一只:
爱好阅读,有一个写作的美梦,喜欢乒乓球,游泳,旅游,每天过着充实而忙碌的生活!
2016年没啥愿望,存钱还房贷,写50篇读书笔记和技术笔记就好!
喜欢我的文字,就关注我吧,希望能共同进步

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 178,828评论 25 709
  • IOS缓存机制详解 资料均来自互联网,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法...
    winsonink阅读 2,457评论 3 14
  • 为什么要有缓存 应用需要离线工作的主要原因就是改善应用所表现出的性能。将应用内容缓存起来就可以支持离线。我们可以用...
    milk_powder阅读 2,914评论 6 24
  • 书摘 死刑很无力,犯人并没有把死刑视为刑罚,而是认为那是自己的命运。通过审判,只看到自己命运的发展,根本不在意别人...
    lxmic阅读 473评论 0 0
  • 延续了几千年的九九重阳节就有着深厚的文化积淀,比如插茱萸,品菊花酒,吃重阳糕……1986年国家把这一天定为老年节后...
    补拙莫如勤LV阅读 221评论 0 0

友情链接更多精彩内容