UIImage内存泄漏
.h 文件
UIImage *ownImg;
@property (nonatomic, retain) UIImage *ownImg;
.m 文件
在 viewWillAppear 方法中:
UIImage *myImage2 = [UIImage imageNamed:@"thumbnail.png"];
self.ownImg = myImage2;
这是 ownImg 中的泄漏,有人知道为什么泄漏吗?
顺便说一句,使用 self.ownImg 和不使用 self.ownImg 有什么不同。
谢谢。
.h file
UIImage *ownImg;
@property (nonatomic, retain) UIImage *ownImg;
.m file
In viewWillAppear method:
UIImage *myImage2 = [UIImage imageNamed:@"thumbnail.png"];
self.ownImg = myImage2;
That is a leak in ownImg, anyone know why it leaking?
BTW, what is the different of using self.ownImg and without the self.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
调用
只是一个仅设置指针的赋值。但是调用
将调用包含保留的@synthesized setter。 (我假设您有 ownImg 的 @synthesize() 。)
因为您使用的是保留的 setter 方法,所以您必须在某个地方释放它。尝试将其放置在 unload 方法的重写中,或者如果非 nib 类将其放置在 dealloc 中。
Calling
is just an assignment that merely sets the pointers. But calling
will call a @synthesized setter that contains a retain. (I assume you have the @synthesize() for the ownImg.)
Because you're using a setter method that retains you'll have to release it somewhere. Try placing that in the override for the unload method, or if a non-nib class place it in the dealloc.