内存不会在清洁UIView时释放

时间:2013-11-28 13:15:49

标签: ios objective-c xcode5

我正在UIView中加载更多资源(图像和视频),这是作为UIViewController的子项添加的,因为我正在清理UIView

UIView *get_mainview = (UIView*)[self.view viewWithTag:100];
//IMP code to remove sbview [[get_mainview subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)];
get_mainview 清除它的对象,但内存未释放。如果我正在写作

[get_mainview release];

我收到错误,因为我正在向 get_mainview 添加更多其他内容 注意 - 我没有使用ARC。 我正在研究Xcode 5.0 请帮助我们释放记忆。

2 个答案:

答案 0 :(得分:0)

您需要拨打[get_mainview removeFromSuperview]而不是release,以便其超级视图将引用次数减少1.

如果你没有将它保留在任何地方,请不要在该视图上调用release,只需将其从超级视图中删除即可。

希望有所帮助!

答案 1 :(得分:0)

如果我们假设您正确地释放了对象,请检查您加载的图像是否未加载[UIImage imageNamed:@""];,因为此方法会缓存图像以供日后使用。