iOS键盘扩展内存崩溃

时间:2017-08-22 16:05:54

标签: ios memory keyboard

我遇到了iOS键盘扩展的内存问题。我有键盘视图的自定义视图。我在UIInputViewController的 loadView ()函数中初始化它。然后将其作为孩子添加到 self.view 。但我有一个内存问题,特别是在WhatsApp应用程序中。键盘扩展连续4-5次崩溃后隐藏/显示键盘操作。我从Instruments app启动了内存分配图形。我看到内存使用量的大小每增加一个" show"键盘操作并超出内存限制(我认为它的30-40 MB)。我的自定义键盘视图对象分配太多了。

为简化问题:

我创建了一个新的Xcode项目,并使用编辑器>添加了一个新的自定义键盘扩展目标。添加目标>自定义键盘扩展

然后,我在我的真实设备上运行了默认的模板化键盘(在模拟器中没有发生)。我打开仪器>分配应用程序以分析扩展的内存分配。

当我在 WhatsApp 上尝试键盘时,我注意到通过点击键盘外部并点击输入来隐藏/取消隐藏键盘时,Persistent ViewController对象的数量增加了区域。

持久性KeyboardViewController的数量:

2 - 隐藏 - > 1 - 显示 - > 3 - 隐藏 - > 2 - 显示 - > 4(增加)

我在iOS 消息应用上尝试了键盘。而且没有重复。

1 - 隐藏 - > 0 - 显示 - > 1 - 隐藏 - > 0(确定)

你对这个问题有什么看法吗?为什么WhatsApp应用程序会复制键盘扩展名viewController。

0 个答案:

没有答案