我总是对内存泄漏非常挑剔,但我无法理解为什么我的垃圾回收应用程序会泄漏。我的代码完全是内存管理的,如果没有垃圾回收,它可以很好地运行,没有任何泄漏。但是,一旦我打开垃圾回收,它就会泄漏!
只是为了证明一点,在applicationDidFinishLaunching中放置这个虚拟代码,为什么它会在垃圾回收的应用程序中泄漏?
NSOpenPanel *panel = [NSOpenPanel openPanel];
[panel beginSheetModalForWindow:window completionHandler:^(NSInteger result) {NSBeep();}];
此外,有没有办法防止使用Scripting Bridge的应用程序(包括垃圾回收或其他方式)泄漏?似乎它们都会泄漏,即使是Xcode中的示例应用程序也是如此。
谢谢大家!