花了几个小时在仪器中找到一些泄漏的NSCFStrings后,我似乎已经意识到调用Cocoa的-animator代理会导致这种情况。
它总是可重复的:只需创建一个新的Xcode项目,在IB中添加一个新的NSTableView,用一些测试数据填充它并运行带有泄漏的仪器。一旦你将鼠标悬停在NSTableView上,这样滚动条就会逐渐淡出,你会注意到在Instruments中至少有一个泄漏对象。
虽然我已经向苹果公司提交了一个漏洞,但有人能证实这个漏洞吗?
示例项目:https://www.dropbox.com/s/lszveuwrsuaxxg5/TableViewMemoryLeakStackOverflow.zip视频:https://www.dropbox.com/s/vqtwbkus3jygdb3/ProxyAnimatorMemoryLeak.mov
此错误已在OS X 10.9.3中解决。