数据持久化、缓存
·1 分钟
OC
Cache
Data Storage
目录
Objc - 系列文章之一
Part 24: 当前阅读
首先了解以下应用沙盒文件夹,了解每个文件夹的具体作用,就能更方便于我们如何存储应用生成的数据。
应用沙盒文件夹>
应用沙盒文件夹 #
Application(应用程序包): 包含了所有资源文件和可执行文件,上架前会经过数字签名,上架后就不可修改。
Documents: 文档目录,要保存程序生成的数据,会自动备份到iCloud中。保存应用运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录。例如,游戏应用可将游戏存档保存在该目录。⚠️ 不要保存从网络上下载的文件,否则会无法上架。
Library:
- 用户偏好,使用
NSUserDefault
直接读写。 - 如果想数据及时写入磁盘,还需要调用同步方法。
- 保存临时文件,“后续需要使用”,例如:缓存图片,离线数据(地图数据)
- 系统不会清理
cache
目录中的文件,所以要求程序开发时,必须提供cache
目录的清理解决方案。 - Caches: 存放体积大而又不需要备份的数据
- Preference: 保存应用的所有偏好设置,iCloud会备份设置信息。
Tmp: 临时文件,系统会自动清理。重启时会清理。保存应用运行时所需的临时数据,使用完毕后再将相应的文件从该目录删除。应用没有运行时,系统也可能会清除该目录下的文件。iTunes同步设备时不会备份该目录。
- 存放临时文件,不会被备份,而且这个文件下的数据有可能随时被清除。
- 保存临时文件,“后续无需使用”
tmp
目录中的文件,系统会自动清理。- 重启手机,
tmp
目录会被清空。 - 系统磁盘空间不足时,系统也会自动清理。
iOS应用可执行文件里面都有什么?
- 静态库
Objc - 系列文章之一
Part 24: 当前阅读