【发布时间】:2015-06-04 07:50:23
【问题描述】:
我有一个 Swift 应用程序,其中包含大约 10 万个字符串的数组。数组看起来像这样:
let strings: [String] = [
"a",
"as",
// 99,998 elements later...
"zebra"
]
在 iOS 模拟器中构建和运行应用程序需要将近 6 分钟。我已将缓慢的构建时间与在项目中包含此数组隔离开来。一旦建成,随后的启动速度非常快(直到我必须再次构建)。我可以做些什么来加快构建过程?
【问题讨论】:
-
将数据放入数据库。您真的需要一次在内存中存储 100,000 个字符串吗?
-
对于上下文,我正在过滤(整个)数组 1) 用于具有所需字符数(例如 4 或 7)的字符串和 2) 用于所有字符都包含在预选字符串中的字符串(例如“生命线”,其中“文件”将匹配,但“叶子”或“生命线”不会)。我真的很想避免数据库的额外复杂性,尽管我知道这会如何减少编译时间。
-
所有这些都可以使用数据库来完成。
-
我不怀疑 :) 还有其他建议吗?例如,从纯文本文件中读取不会减慢编译时间。也就是说,一旦构建了应用程序,它可能会变得非常低效。
-
将所有 100,000 个单词加载到内存中的任何方法都是一个坏主意。
标签: ios arrays performance swift compiler-optimization