这里有问题。我正在创建一个MAAttachedWindow
,然后在某个事件发生时隐藏它。以下是代码的外观:
-(void)toggleDetailShouldShow:(BOOL)show {
if (show) {
if (!attachedWindow) {
NSPoint buttonPoint = NSMakePoint(NSMidX([[someView someImageView] frame]),
NSMidY([[someView someImageView] frame]));
attachedWindow = [[MAAttachedWindow alloc] initWithView:view
attachedToPoint:buttonPoint
inWindow:window
onSide:12
atDistance:65.0];
//setup here
[attachedWindow setAlphaValue:0.0];
[[[someView someImageView] window] addChildWindow:attachedWindow ordered:NSWindowAbove];
[[attachedWindow animator] setAlphaValue:1.0];
}
}
else {
if (attachedWindow) {
[[[someView someImageView] window] removeChildWindow:attachedWindow];
[attachedWindow orderOut:self];
[attachedWindow release];
attachedWindow = nil;
}
}
}
当多次触发时,我的内存使用量稳步上升。这是泄漏的原因吗?
答案 0 :(得分:2)
这是使用Heapshot analysis的完美情况。
您描述的症状与我在Hex Fiend撰写该文章时所看到的症状完全相同。
更有可能的是,无论泄漏是什么 - 而且实际上是你的应用程序正在吸收内存的泄漏 - 仍然与应用程序对象图的其余部分相关联。