OStack程序员社区-中国程序员成长平台

标题: iphone - 在 iOS 中高效存储大量数据 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 17:00
标题: iphone - 在 iOS 中高效存储大量数据

我正在构建一个具有“记录”功能的应用程序,该功能可以记录用户随时间的交互。随着时间的推移,我用表示用户输入当前状态的“状态”对象填充内存中的一个数组。一个典型的记录会产生大约 5k 个这样的对象。

然后我使用 NSKeyedArchiver archiveRootObject:toFile: 归档这些数据。这工作正常,但是文件大小非常大(3.5 兆左右)。我的问题是这样的:

归档文件是否存在任何固有的文件大小开销?如果我使用 SQLite,甚至滚动我自己的文件格式,我是否能够使用更少的磁盘空间来保存这些数据?或者减少数据磁盘大小的唯一方法是减少我存储的数字的位深度?



Best Answer-推荐答案


如果您关心的是性能,Core Data 会为您提供更多的粒度。您可以在应用程序执行期间延迟加载和保存部分,而不是加载/保存整个 3.5Mb 对象图。

如果您关心文件大小,这是 binary plist format ,这是 SQLite file format .但比开销更重要的是对象图和核心数据模型之间的转换有多复杂。

您可能还对以下几种文件格式的速度和性能比较感兴趣:https://github.com/eishay/jvm-serializers/wiki/不确定是否所有内容都有 C、C++ 或 Objective-C 实现。

关于iphone - 在 iOS 中高效存储大量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7027040/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4