我有以下代码:
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];
仪器在上述代码的第二行显示了100%的内存泄漏,而在xcode 4.6中不是这种情况。我现在在osx 10.8.5上使用xCode 5
看来,我适当地释放了分配的UIImageView
(第7行),该行已插入到我的视图的第6行中,所以我看不到仪器为什么会引发内存泄漏警告。
有人知道为什么仪器会提出错误的信息吗?
编辑:这是我的泄漏对象的分配摘要的工具屏幕截图:
在UIKit
和QuartzCore被保留我的对象,这是我的泄漏原因UIImageView
(或我错了这个假设呢?)。
将UIImageView
被插入到图(a UIViewController
),这是在我的XIB-文件引用。UIImageView
将我添加到“ self.view”后,如何控制添加的内容?
我在iOS 7上遇到了与Xcode 5相同的问题。经过一些实验,我注意到在针对iOS 6.1模拟器或针对运行iOS 7的设备(iPhone 5s)运行时,Instruments不会显示内存泄漏。结论是这是误报,是iOS 7模拟器中的错误。
编辑:我更新到Xcode 5.0.1和OS X Mavericks后,不再发生此问题(我猜这是修复它的第一个,但不能确定)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句