我现在面临一个奇怪的问题。在我的程序中的某个时刻,我在OSX中捕获了系统的鼠标光标。为此,我做:
NSCursor *cursor = [NSCursor currentSystemCursor];
我已经删除了与光标一起使用的其他所有内容来测试问题。但是这一次调用给了我一个巨大的内存泄漏(光标每秒被捕获多次)。它大约50MB/s的内存泄漏。
我必须以某种方式释放光标吗?根据文档(https://developer.apple.com/reference/appkit/nscursor/1533611-currentsystemcursor?language=objc)如果我理解正确,currentSystemCursor
会给我系统光标的副本。但它没有说明我是否需要释放内存的任何内容。
目前我的程序不使用 ARC。
我现在已经发现了这个问题。问题是光标被抓住了使用pthread
库创建的不同线程。我已经在线程上实现了一个自动发布池,现在内存泄漏消失了。