Wil*_*ich 8 keyboard xcode memory-leaks ios
我正在构建一个自定义键盘扩展(iOS 9+),并发现了一个令人烦恼的内存泄漏.
当离开应用程序(在此测试用例中为Messages应用程序)然后返回时,会发生此泄漏.通常(见下面Xcode的Instruments7的照片)
我确实没有对模板做任何事情,但收到了这个漏洞.有没有人对如何解决这个问题有任何建议?...
为了好玩,这里的辉煌泄露的屏幕截图... 和第一我复杂的VC的片段....
这是在点击文本字段,关闭控制器,然后再次点击该字段之后
(显示 - >隐藏 - >显示)
#import "KeyboardViewController.h"
@implementation KeyboardViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
}
@end
Run Code Online (Sandbox Code Playgroud)
尽管我很想将赏金授予一个解决方案,但不是我收到的唯一答案......这个问题的答案实际上最终是“哎呀,我没有做错任何事......”。
在深入研究了导致这些泄漏的真正原因之后(在删除了除视图控制器实例之外的所有内容后,总共发生了 14 次泄漏),我发现了真正的罪魁祸首。
苹果。
即使我删除所有代码,实际上只留下以下内容
- (void)viewDidLoad {
[super viewDidLoad];
// Great...
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
// Super!
}
Run Code Online (Sandbox Code Playgroud)
...我仍然收到14 个泄漏,所有这些都源于UIKit、Foundation和CoreFoundation。基本上,如果我从流程中删除任何其他内容,就不会有流程,因为什么也不会发生。谁知道呢...也许泄漏仍然存在..
不过,值得庆幸的是,这种泄漏不会破坏内存分配,除非您打算连续几年键入消息。它似乎也没有因为我的代码中的其他任何内容而恶化,所以除了它是一个非常丑陋的错误之外,我的结论是它还可以。
谢谢苹果!
| 归档时间: |
|
| 查看次数: |
797 次 |
| 最近记录: |