我有以下代码:
NSString *bgImageName = [[Useful instance] getRootviewBackgroundImageName];
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:bgImageName]];
imageView.clipsToBounds = YES;
CGRect rc = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
[imageView setFrame:rc];
[self.view insertSubview:imageView atIndex:0];
[imageView release];
Instruments 在上述代码的第二行显示 100% 和内存泄漏,而在 xcode 4.6 中并非如此。我现在在 osx 10.8.5 上使用 xCode 5
看来,我正确释放了UIImageView
在第 6 行插入到我的视图中的已分配(第 7 行),所以我看不出为什么仪器会发出内存泄漏警告。
有谁知道为什么仪器会提出(在我看来)错误信息?
编辑:这是我的泄漏对象的分配摘要的仪器屏幕截图:
和 QuartzCore 保留了我的UIKit
对象,这就是我泄漏的原因UIImageView
(或者我对这个假设有误?)。
被UIImageView
插入到UIViewController
我的 xib 文件中引用的视图 (a) 中。UIImageView
将其添加到“self.view”后如何控制我添加的内容?