为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

iOS
森林海 2023-05-03 13:09:56
做了一个测试,先上代码:
查看完整描述

2 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

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

查看完整回答
反对 回复 2023-05-06
?
杨魅力

TA贡献1811条经验 获得超6个赞

@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时就不会提示内存泄露。

查看完整回答
反对 回复 2023-05-06
  • 2 回答
  • 0 关注
  • 469 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信