繁体   English   中英

UIImageView内存问题

[英]UIImageView Memory Problem

我在视图控制器中将UIImageView属性设置为“分配”。 每次按下按钮时,我都会将视图中的图像设置为新的图像。 由于我使用其他组件的方式,每次我更改图像然后重新添加图像时,都必须删除removeSuperSuperView并释放UIImageView。 这似乎不是造成内存问题的原因-使用现有的UIImageView而不释放它时,内存仍然会增加(但是存在大小问题,这就是为什么我要重新创建它)。

由于某些原因,使用setImage将使应用程序的内存使用量增加约0.8mb(图像大小)。 当我不设置图像时,内存似乎保持相对恒定。 有什么想法吗?

[self.pictureView setImage: img];
[self.pictureView setFrame: CGRectMake(0,0,[img size].width, [img size].height)];
[img release];

我认为您正在泄漏UIImageView,并且当您泄漏UIImageView时,您正在泄漏其中的图像。

这取决于您如何重新创建UIImageView。 在将新视图设置为属性之前,请确保释放了旧的图像视图。

最好将属性设置为“保留”,因为当您为保留属性设置新值时,它会释放旧实例。

也许在设置图像以清除引用之前将UIImageView设置为nil?

pictureView.image=nil;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM