iOS 键盘扩展内存崩溃

2024-04-12

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


为了简化问题:

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

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

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

持久KeyboardViewController的数量:

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

我正在尝试 iOS 上的键盘Messages应用程序也是如此。并且没有重复。

1 -- 隐藏 --> 0 -- 显示 --> 1 -- 隐藏 --> 0 (可以)

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


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS 键盘扩展内存崩溃 的相关文章

随机推荐