gpt4 book ai didi

iOS 自定义键盘扩展 - 内存限制

转载 作者:行者123 更新时间:2023-12-01 16:34:45 34 4
gpt4 key购买 nike

我正在开发一个自定义键盘,其中我可笑地面临内存问题。我进行了各种仪器观察,得出的结论是每次键盘出现和失效时,iOS 都会保留内存。我对这种行为感到非常沮丧,因为就像在 dealloc 中一样,尽管我的项目在 ARC 中,但我已经释放了我所有的 DMA。

场景是这样的:
When I starts my keyboard for the first time it consumes approximately and after some operation it use to increase upto 30 MB and then I invalidate the keyboard. Again when I'm reloading it at that moment it starts from 30 MB which is totally unexpected and due to which after some transitions there is memory pressure and extension gets crashed.
如果有人能提出一些管理内存压力的想法,那将非常有帮助。

最佳答案

这里的简短回答是您有内存泄漏。

如果您正在使用 Swift 编写扩展程序,请在 deinit 中添加一个断点。 View Controller 中继承自 UIInputViewController 的方法看看它是否被调用。

如果您正在使用 Objective-C 编写应用程序,那么您可以从解构器中执行相同的操作。

我也为此苦苦挣扎,根据我的经验,关闭键盘后唯一会留下来的是一些 Core Data 的东西。除此之外,如果您的所有对象都归主视图 Controller ( UIInputViewController )所有,那么如果不再引用它们,它们就会消失。

如果在 deinit 之后仍然看到大量内存被使用被调用然后你在其他地方有泄漏。注意保留释放周期并小心 Swift 中的闭包。当涉及到内存泄漏时,这些通常是罪魁祸首。

在没有看到您的任何代码的情况下,我无法在此处提供任何更具体的信息。

祝你好运!

关于iOS 自定义键盘扩展 - 内存限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29271795/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com