Skip to main content
  1. Objective-C/

数据持久化、缓存

·1 分钟
OC Cache Data Storage
Objc - 系列文章之一
Part 24: 当前阅读

首先了解以下应用沙盒文件夹,了解每个文件夹的具体作用,就能更方便于我们如何存储应用生成的数据。

应用沙盒文件夹>

应用沙盒文件夹 #

Application(应用程序包): 包含了所有资源文件和可执行文件,上架前会经过数字签名,上架后就不可修改。

Documents: 文档目录,要保存程序生成的数据,会自动备份到iCloud中。保存应用运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录。例如,游戏应用可将游戏存档保存在该目录。⚠️ 不要保存从网络上下载的文件,否则会无法上架。

Library:

  1. 用户偏好,使用NSUserDefault直接读写。
  2. 如果想数据及时写入磁盘,还需要调用同步方法。
  3. 保存临时文件,“后续需要使用”,例如:缓存图片,离线数据(地图数据)
  4. 系统不会清理cache目录中的文件,所以要求程序开发时,必须提供cache目录的清理解决方案。
  5. Caches: 存放体积大而又不需要备份的数据
  6. Preference: 保存应用的所有偏好设置,iCloud会备份设置信息。

Tmp: 临时文件,系统会自动清理。重启时会清理。保存应用运行时所需的临时数据,使用完毕后再将相应的文件从该目录删除。应用没有运行时,系统也可能会清除该目录下的文件。iTunes同步设备时不会备份该目录。

  1. 存放临时文件,不会被备份,而且这个文件下的数据有可能随时被清除。
  2. 保存临时文件,“后续无需使用”
  3. tmp目录中的文件,系统会自动清理。
  4. 重启手机,tmp目录会被清空。
  5. 系统磁盘空间不足时,系统也会自动清理。

iOS应用可执行文件里面都有什么?

  • 静态库

iOS APP可执行文件的组成



Objc - 系列文章之一
Part 24: 当前阅读