我正在尝试在iOS10中创建一个自定义键盘,它的作用类似于T-9键盘。当切换到我的自定义键盘时,应用程序扩展会从一个txt文件中读取大约10000个单词的列表,并从中构建一个trie。
然而,当我第一次尝试使用键盘时,我总是会收到一个“sigquit”错误。在键盘出现故障后立即重新运行键盘似乎通常是可行的。Xcode没有给我任何解释为什么它失败了,除了一些汇编代码行上的sigquit错误。
所以,我的问题是,Xcode抛出sigquit错误的原因是什么?我试过调试,但没有成功,而谷歌sigquit似乎没有返回任何有用的信息。我认为我的键盘占用了太多的资源/启动时占用了太多的时间,但是我检查了CPU的使用情况,它的峰值不到1%。同样,所用的内存类似于25MB,看起来并不可怕。
最佳答案
键盘扩展比应用程序的内存限制要低得多。您的扩展可能被操作系统杀死。
见:https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/ExtensionCreation.html
运行应用程序扩展的内存限制明显低于
前台应用程序的内存限制。在两个平台上,
系统可能会主动终止扩展,因为用户希望
回到他们在主机应用程序中的主要目标。某些扩展可能
内存限制较低:例如,小部件必须
特别有效,因为用户可能有几个小部件
同时打开。