是否存在可以存储在可执行二进制文件中的文本数据的限制?

时间:2014-08-22 06:24:15

标签: objective-c c sqlite mach-o darwin

我的OS X应用程序具有一个应用程序内帮助系统,该系统由大约4 MB原始文本数据的静态字符串组成。

通常情况下,人们会在访问中和访问时存储这些帮助文本,从轻量级数据库中获取它们(SQLite想到的)与应用程序二进制文件捆绑在一起。相反,为了简单起见,我选择将帮助文本存储在由NSDictionary组成的大NSString中(在编译时自动生成)。访问速度相当快,我能想到的唯一“缺点”就是NSDictionary即使在不使用的情况下也会不断消耗4 MB的内存 - 这对现代硬件来说确实不是问题。 我的解决方案是实用的,现在工作正常,制作一个小巧的应用程序,不会将其内部数据泄漏到磁盘上,但它给我一种不安的感觉。

所以,我认为我的问题是,我正在做的事情是否正常,或者是否以任何方式做坏事。简洁: 从技术角度来看,是否可以将大量文本“烘焙”到应用程序二进制文件中? 静态变量数据的大小限制是否可以存储在(64位)Darwin Mach-O图像中?

1 个答案:

答案 0 :(得分:0)

当你发现一个典型的错误时,你必须编译应用程序并完全部署它,而不是仅仅提供数据库的更新。这使得客户的部署更加顺畅。

当它发生时,你的应用程序是如此需要,你想提供一个(f.e.)德语版本,你必须从头开始改变一切。

作为重击规则:小二进制,大型数据库,资产分开。

相关问题