首页 > 解决方案 > iOS - 来自 .txt 文件的键盘扩展词预测

问题描述

我正在创建一个键盘扩展来显示来自 .txt 文件的预测。

txt 文件包含近 350000 个单词。

现在我正在从文件中获取所有单词并将其存储在字符串数组中,然后过滤该数组。

extension String {
var lines: [String] {
      var result: [String] = []
      enumerateLines { line, _ in result.append(line) }
      return result
  }
}


autoreleasepool{
    if let fileURL = Bundle.main.url(forResource: "Words", withExtension: "txt") {
        if let words = try? String(contentsOf: fileURL, encoding: .utf8) {
            arrayWords += words.lines
        }
    }
}

问题是它使用了太多的内存(65-70 MB)。CPU 使用率在启动时几乎达到 180%,并且在我输入字符时始终高于 90%。

有什么方法可以减少内存和 CPU 使用率?

标签: iosswiftios-keyboard-extension

解决方案


推荐阅读