我的问题:那个潜在的内存泄漏是怎么产生的?怎么做相关的优化?

做了一个测试,先上代码:

http://img3.mukewang.com/64562b12000153bd15540990.jpg

森林海
浏览 327回答 2
2回答

弑天下

看你的声明,应该是没有自动计数ARC的。所以要自己管理内存。你的leftView泄露了,alloc那行,增加autorelease就可以了。

杨魅力

@property(nonatomic, retain)标明该属性在使用其set方法时会自动retain一次。 self.leftView = [[UIView alloc] initWithFrame:...];这条语句,alloc使其引用计数+1,同时调用leftView的set方法,引用计数再+1,引用计数一共加了2次,而实际上我们想要的效果是引用计数只加1次,所以有内存泄露。 正确的写法应该是: UIView *myView = [[UIView alloc] initWithFrame:...]; self.leftView = myView; [myView release]; 这样Analyze时就不会提示内存泄露。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS