数据持久化基础知识——文件保存方案

1、实现数据持久化的四种方法(均使用iOS的文件系统)

  • 使用SQLite3:数据库文件,并让SQLite3去存储和检索数据
  • CoreData:以其最简单的形式帮助开发者完成所有文件系统的管理工作
  • 使用属性列表:需要考虑将数据存储在一个文件中,还是多个文件中。
  • 归档:需要考虑将数据存储在一个文件中,还是多个文件中。

2、单文件持久化

把数据保存在一个文件中


先创建一个根对象(通常是数组或字典(使用归档容器的情况下根对象可以基于这个自定义类)),


然后使用所有需要保存的程序数据填充根对象。


1)真正保存时,代码会将该根对象的全部内容重新写入单个文件

2)应用在启动时,会将该文件全部内容重新写入单个文件,应用在启动时会将该文件的全部内容读入内存,并在退出时注销

3)缺点:必须将全部数据加载到内存中,并且不管有多小的更改,也必须将所有的数据全部重新写入文件系统。

3、多文件持久化

1)使用多个文件是另一种实现持久化的方式,比如:电子邮件应用可能会将每封邮件都单独存储在一个文件中。

2)这种方法的优势:比如应用可以只加载用户请求的数据(另一种形式的延迟加载),当用户更改时只保存更改的文件。

3)此文件允许开发人员在收到内存不足的通知时释放内存,用户当前未查看的任何数据都可以从内存中删除,下次需要时再从文件系统重新加载即可。

4)缺点:大大增加了应用的复杂性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值